1. 集合部分
1.1 HashMap排序
package cn.Douzi.hashMap01; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map.Entry; import java.util.Set; import javax.jws.soap.SOAPBinding.Use; public class hashMap_demo01 { public static void main(String[] args) { HashMap<Integer, User> hashMap = new HashMap<Integer, User>(); User user = new User(); user.setName("张三"); user.setAge(23); hashMap.put(1, user); User user2 = new User(); user2.setName("李四"); user2.setAge(24); hashMap.put(2, user2); User user3 = new User(); user3.setAge(21); user3.setName("王五"); hashMap.put(3, user3); System.out.println("排序前HashMap:" + hashMap); HashMap<Integer, User> sortedHashMap = sortHashMap(hashMap); System.out.println("排序后:" + sortedHashMap); } private static HashMap<Integer, User> sortHashMap( HashMap<Integer, User> hashMap) { /** * 创建一个有序的HashMap数据结构,LinkedHashMap */ LinkedHashMap<Integer, User> newHashMap = new LinkedHashMap<Integer, User>(); //凡是要对集合排序,首先想到的就是集合的工具类 //把Map结构转换为list结构 //把Map转换为Set集合 Set<Entry<Integer, User>> entrySet = hashMap.entrySet(); //把Set集合转换为List ArrayList<Entry<Integer, User>> list = new ArrayList<>(entrySet); Collections.sort(list, new Comparator<Entry<Integer, User>>() { @Override public int compare(Entry<Integer, User> o1, Entry<Integer, User> o2) { // TODO Auto-generated method stub // -1:正序排序; 前面-后面:正序;后面-前面:倒序 return o2.getValue().getAge() - o1.getValue().getAge(); } }); //将排好顺序的list转换为LinkedHashMap for (int i = 0; i < list.size(); i++) { Entry<Integer, User> entry = list.get(i); newHashMap.put(entry.getKey(), entry.getValue()); } return newHashMap; } }
2.java中的引用类型
3. 多线程线程池部分
---恢复内容结束---