寻找两个集合中是否存在交集,创建HashMap对象,存储 员工类信息,并根据工资从高到低排序,在控制台输出

Employee类:

package test02;

public class Employee {
        
            private String id;
            private String  name;
            private Integer wages;
            
            public  Employee() {}
            
            public  Employee(String id,String name,Integer wages) {
                
                this.id = id;
                this.name = name;
                this.wages = wages;
            }
            
            public String getId() {
                return id;
            }
            public void setId(String id) {
                this.id = id;
            }
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public Integer getWages() {
                return wages;
            }
            public void setWages(Integer wages) {
                this.wages = wages;
            }

            @Override
            public String toString() {
                return "员工id是:" + id + ", 姓名:" + name + ", 工资:" + wages ;
            }

            

        

}
 

 

 

 

package test02;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import static java.util.stream.Collectors.toList;

    public class HomeWork2 {
        
        private static class ValueComparator implements Comparator<Map.Entry<String,Integer>>
        {
            public int compare(Map.Entry<String,Integer> m,Map.Entry<String,Integer> n)
            {
                return n.getValue()-m.getValue();
            }
    
        }
    public static void main(String[] args) {
        //集合1
        List<String> list1 = new ArrayList<String>();
        list1.add("zhangsan");
        list1.add("lishi");
        list1.add("wangwu");
        list1.add("zhaoliu");
        list1.add("qiantu");
        
        //集合2
        List<String> list2 = new ArrayList<String>();
        list2.add("liming");
        list2.add("wangshuang");
        list2.add("zhangsan");
        list2.add("wangwu");
        list2.add("xiaoxiao");
        
        //是否存在交集
        List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(toList());
        System.out.println("list1,list2存在的交集有:");
        intersection.parallelStream().forEach(System.out :: println);    
        
        //HasMap
    
        Employee e1 = new Employee("1001","王小",5000);
        Employee e2 = new Employee("1002","舟骨",3000);
        Employee e3 = new Employee("1003","库里",6000);
        Employee e4 = new Employee("1004","黄埔",10000);
        
        Map<Employee,Integer> map = new HashMap<Employee,Integer>();
        map.put(e1, e1.getWages());
        map.put(e2, e2.getWages());
        map.put(e3, e3.getWages());
        map.put(e4, e4.getWages());
        
        
        
        //从大到小的排序
        List<Map.Entry<String,Integer>> list=new ArrayList<>();
        
        list.addAll((Collection<? extends Entry<String, Integer>>) map.entrySet());
        HomeWork2.ValueComparator vc=new ValueComparator();
        Collections.sort(list,vc);
        for(Iterator<Map.Entry<String,Integer>> it=list.iterator();it.hasNext();)
        {
            System.out.println(it.next());
    
    
        }

    }
}
 

运行代码截图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值