java实例教程,员工工资筛选排序大比拼

发布于:2024-05-15 13:27:25

Java实例教程:员工工资筛选排序大比拼

大家好,我是你们的Java小编,今天咱们就来一场硬核比拼——员工工资筛选排序。下面这5个高难度每一个都能让编程新手挠破头,但看完我的详细解答,分分钟让你化身Java达人!

1.如何从员工集合中筛选出工资大于8000的员工?

java

importjava.util.ArrayList;

importjava.util.List;

publicclassSalaryFilter{

publicstaticvoidmain(String[]args){

Listemployees=newArrayList<>();

employees.add(newEmployee(1,"张三",8500));

employees.add(newEmployee(2,"李四",6000));

employees.add(newEmployee(3,"王五",10000));

ListfilteredEmployees=newArrayList<>();

for(Employeeemployee:employees){

if(employee.getSalary()>8000){

filteredEmployees.add(employee);

System.out.println(filteredEmployees);

2.怎样统计员工的最高薪资、平均薪资和薪资之和?

java

importjava.util.ArrayList;

importjava.util.List;

publicclassSalaryStatistics{

publicstaticvoidmain(String[]args){

Listemployees=newArrayList<>();

employees.add(newEmployee(1,"张三",8500));

employees.add(newEmployee(2,"李四",6000));

employees.add(newEmployee(3,"王五",10000));

intmaxSalary=0;

inttotalSalary=0;

for(Employeeemployee:employees){

if(employee.getSalary()>maxSalary){

maxSalary=employee.getSalary();

totalSalary+=employee.getSalary();

doubleaverageSalary=(double)totalSalary/employees.size();

System.out.println("最高薪资:"+maxSalary);

System.out.println("平均薪资:"+averageSalary);

System.out.println("薪资之和:"+totalSalary);

3.如何将员工按工资从高到低排序,相同工资者年龄小者在前?

java

importjava.util.ArrayList;

importjava.util.Collections;

importjava.util.Comparator;

importjava.util.List;

publicclassSalarySort{

publicstaticvoidmain(String[]args){

Listemployees=newArrayList<>();

employees.add(newEmployee(1,"张三",8500,25));

employees.add(newEmployee(2,"李四",6000,30));

employees.add(newEmployee(3,"王五",10000,28));

employees.add(newEmployee(4,"赵六",10000,32));

Collections.sort(employees,newComparator

@Override

publicintcompare(Employeee1,Employeee2){

intsalaryCompare=e2.getSalary()-e1.getSalary();

if(salaryCompare==0){

returne1.getAge()-e2.getAge();

returnsalaryCompare;

System.out.println(employees);

4.预计难度10星:如何用正则表达式从文本中提取所有手机号?

java

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

publicclassPhoneNumberExtractor{

publicstaticvoidmain(String[]args){

Stringtext="我的手机号是13512345678,也有人打电话过来18698765432.";

Patternpattern=Pattern.compile("1[3-9]\\d{9}");

Matchermatcher=pattern.matcher(text);

while(matcher.find()){

System.out.println(matcher.group());

5.设计一个优雅的算法,判断一棵二叉树是否是平衡二叉树

java

importjava.util.LinkedList;

importjava.util.Queue;

publicclassBalancedBinaryTree{

publicbooleanisBalanced(TreeNoderoot){

if(root==null){

returntrue;

Queuequeue=newLinkedList<>();

queue.add(root);

while(!queue.isEmpty()){

TreeNodenode=queue.poll();

intleftHeight=height(node.left);

intrightHeight=height(node.right);

if(Math.abs(leftHeight-rightHeight)>1){

returnfalse;

queue.add(node.left);

queue.add(node.right);

returntrue;

privateintheight(TreeNodenode){

if(node==null){

return0;

returnMath.max(height(node.left),height(node.right))+1;

经过了这5个高难度拷问,各位铁粉们是不是都心满意足了?掌握了这些核心技术,你的Java水平绝对是杠杠的。不过,还有更多有趣的Java知识等着你们来探索哦!

给我留言

如果你还有任何疑问或想让我讲解其他Java实例,欢迎给我留言。你们的支持就是我码字的动力!


上一篇:java初级程序设计,揭开WHILE1的神秘面纱

下一篇:优秀网页设计赏析:从理论到实例,揭秘网页设计的魅力?

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。