JAVA1.8新特性之lambda遍历集合

    public static void main(String[] args) {
        // 初始数据
        Map smap = new HashMap<>();
        smap.put("1", 11);
        smap.put("3", 33);
        smap.put("2", 22);
        
        // 1.8以前
        List> list1 = new ArrayList<>();
        list1.addAll(smap.entrySet());
        Collections.sort(list1, new Comparator>() {
            @Override
            public int compare(Entry o1, Entry o2) {
                return o1.getValue() - o2.getValue();
            }
        });
        for (Entry entry : list1) {
            System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
        }
        
        // 1.8使用lambda表达式
        List> list2 = new ArrayList<>();
        list2.addAll(smap.entrySet());
        Collections.sort(list2, (o1, o2) -> o1.getValue()-o2.getValue());
        list2.forEach(entry -> {
            System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
        });
    }
 

你可能感兴趣的:(Java)