1.知识点:使用LinkedHashSet的方法

/*** 知识点:使用LinkedHashSet的方法* * class LinkedHashSet extends HashSet* HashSet怎么使用,LinkedHashSet就怎么使用*///创建LinkedHashSet集合对象LinkedHashSet<String> set = new LinkedHashSet<>();//添加元素set.add("椎名空");set.add("李林俊");set.add("天使萌");set.add("佐佐木希");set.add("古川伊织");set.add("京香Julia");//将newSet1中所有的元素添加到set集合LinkedHashSet<String> newSet1 = new LinkedHashSet<>();Collections.addAll(newSet1, "aaa","bbb","ccc","ccc");//利用集合工具类对集合进行批量添加set.addAll(newSet1);//获取元素个数int size = set.size();System.out.println("获取元素个数:" + size);//清空集合中所有的元素//set.clear();System.out.println("判断集合中是否有指定元素:" + set.contains("天使萌"));//trueSystem.out.println("判断集合中是否有指定集合(判断包含关系):" + set.containsAll(newSet1));//trueSystem.out.println("判断集合中是否没有元素:" + set.isEmpty());//false (true-没有元素 false-有元素)//依据元素删除元素set.remove("上原亚衣");//去除交集set.removeAll(newSet1);//保留交集LinkedHashSet<String> newSet2 = new LinkedHashSet<>();Collections.addAll(newSet2, "佐佐木希","古川伊织","天使萌","天使萌");set.retainAll(newSet2);//将集合转换为数组Object[] array = newSet2.toArray();System.out.println(Arrays.toString(array));System.out.println("---------------");//遍历1 - foreachfor (String element : set) {System.out.println(element);}System.out.println("---------------");//遍历2 - IteratorIterator<String> it = set.iterator();while(it.hasNext()){//判断是否有下一个可迭代的元素String next = it.next();//返回下一个元素System.out.println(next);}}* 知识点:感受LinkedHashSet的特点* * 特点:有序 + 去重* * 存储数据:*         1.获取对象的hash值*       2.通过hash值+散列算法获取到数组中的下标*       3.将元素添加到节点对象中(节点对象-双向链表)* 取出数据:*       获取到第一个节点对象,再依次循环到下一个节点(有序的)*/LinkedHashSet<String> set = new LinkedHashSet<>();set.add("椎名空");set.add("李林俊");set.add("天使萌");set.add("佐佐木希");set.add("古川伊织");set.add("京香Julia");set.add("京香Julia");for (String str : set) {System.out.println(str);}

2.知识点:使用TreeSet的方法

/*** 知识点:使用TreeSet的方法*///创建TreeSet集合对象TreeSet<String> set = new TreeSet<>();//添加元素set.add("椎名空");set.add("李林俊");set.add("天使萌");set.add("佐佐木希");set.add("古川伊织");set.add("京香Julia");//将newSet1中所有的元素添加到set集合TreeSet<String> newSet1 = new TreeSet<>();Collections.addAll(newSet1, "aaa","bbb","ccc","ccc");//利用集合工具类对集合进行批量添加set.addAll(newSet1);//获取元素个数int size = set.size();System.out.println("获取元素个数:" + size);//清空集合中所有的元素//set.clear();System.out.println("判断集合中是否有指定元素:" + set.contains("天使萌"));//trueSystem.out.println("判断集合中是否有指定集合(判断包含关系):" + set.containsAll(newSet1));//trueSystem.out.println("判断集合中是否没有元素:" + set.isEmpty());//false (true-没有元素 false-有元素)//依据元素删除元素set.remove("上原亚衣");//去除交集set.removeAll(newSet1);//保留交集TreeSet<String> newSet2 = new TreeSet<>();Collections.addAll(newSet2, "佐佐木希","古川伊织","天使萌","天使萌");set.retainAll(newSet2);//将集合转换为数组Object[] array = newSet2.toArray();System.out.println(Arrays.toString(array));System.out.println("---------------");//遍历1 - foreachfor (String element : set) {System.out.println(element);}System.out.println("---------------");//遍历2 - IteratorIterator<String> it = set.iterator();while(it.hasNext()){//判断是否有下一个可迭代的元素String next = it.next();//返回下一个元素System.out.println(next);}
/*** 知识点:感受TreeSet的特点* * TreeSet特点:自然排序 - 根究不同的类型自动找到对应的排序规则*///TreeSet存储String的排序方式:字典排序TreeSet<String> set1 = new TreeSet<>();set1.add("b");set1.add("d");set1.add("a");set1.add("c");set1.add("c");for (String element : set1) {System.out.println(element);}//TreeSet存储Integer的排序方式:数字升序TreeSet<Integer> set2 = new TreeSet<>();set2.add(5);set2.add(1);set2.add(3);set2.add(2);set2.add(4);set2.add(4);for (Integer element : set2) {System.out.println(element);}

3.知识点:TreeSet内置比较器 - Comparable

/*** 知识点:内置比较器 - Comparable*/TreeSet<Student> set = new TreeSet<>();set.add(new Student("天海翼", '女', 28, "2204", "001"));set.add(new Student("天使萌", '女', 21, "2204", "002"));set.add(new Student("水菜丽", '女', 25, "2204", "003"));set.add(new Student("佐佐木希", '女', 22, "2204", "004"));set.add(new Student("上原亚衣", '女', 27, "2204", "005"));set.add(new Student("濑亚美莉", '女', 18, "2204", "006"));set.add(new Student("深田咏美", '女', 23, "2204", "007"));set.add(new Student("泷泽萝拉", '女', 25, "2204", "008"));set.add(new Student("冲田杏梨", '女', 27, "2204", "009"));for (Student stu : set) {System.out.println(stu);}
----------------------------------------------------------------public class Student implements Comparable<Student>{private String name;private char sex;private int age;private String classId;private String id;@Overridepublic String toString() {return "Student [name=" + name + ", sex=" + sex + ", age=" + age + ", classId=" + classId + ", id=" + id + "]";}//排序规则:按照年龄排序@Overridepublic int compareTo(Student o) {return this.age - o.age;}

4.知识点:TreeSet外置比较器 - Comparator

/*** 知识点:外置比较器 - Comparator* * 应用场景:*          联合开发*           Student -- 李林俊写,并且他写的排序规则不满足何老师的需求* * Comparable vs Comparator* 优先级别:Comparator > Comparable*/TreeSet<Student> set = new TreeSet<>(new Comparator<Student>() {//排序规则:按照名字长度排序,名字长度一致按照年龄排序@Overridepublic int compare(Student o1, Student o2) {if(o1.equals(o2)){return 0;}int nameLen1 = o1.getName().length();int nameLen2 = o2.getName().length();if(nameLen1 != nameLen2){return nameLen1 - nameLen2;}int age1 = o1.getAge();int age2 = o2.getAge();if(age1 != age2){return age1 - age2;}return 1;}});set.add(new Student("水菜丽", '女', 25, "2204", "003"));set.add(new Student("佐佐木希", '女', 22, "2204", "004"));set.add(new Student("天使萌", '女', 21, "2204", "002"));set.add(new Student("上原亚衣", '女', 27, "2204", "005"));set.add(new Student("濑亚美莉", '女', 18, "2204", "006"));set.add(new Student("天海翼", '女', 28, "2204", "001"));set.add(new Student("深田咏美", '女', 23, "2204", "007"));set.add(new Student("泷泽萝拉", '女', 25, "2204", "008"));set.add(new Student("冲田杏梨", '女', 27, "2204", "009"));set.add(new Student("冲田杏梨", '女', 27, "2204", "009"));for (Student stu : set) {System.out.println(stu);}}

5.知识点:HashMap的使用

/*** 知识点:HashMap的使用* * 特点:无序 + key唯一(去重)*///创建HashMap对象HashMap<String, Integer> map = new HashMap<>();//添加数据Integer put1 = map.put("麻生希", 28);Integer put2 = map.put("椎名空", 23);Integer put3 = map.put("天使萌", 26);Integer put4 = map.put("水菜丽", 26);Integer put5 = map.put("爱田奈奈", 25);Integer put6 = map.put("小峰由衣", 29);System.out.println(put1);//nullSystem.out.println(put2);//nullSystem.out.println(put3);//nullSystem.out.println(put4);//nullSystem.out.println(put5);//nullSystem.out.println(put6);//null//将newMap集合添加到map集合中HashMap<String, Integer> newMap = new HashMap<>();newMap.put("aaa", 10);newMap.put("bbb", 20);newMap.put("ccc", 30);newMap.put("ccc", 40);map.putAll(newMap);//如果集合中有该key就获取对应的value值//如果集合中没有该key就添加数据Integer putIfAbsent = map.putIfAbsent("椎名空1", 25);System.out.println("putIfAbsent -- " + putIfAbsent);//替换数据 -- 返回被替换的值Integer put7 = map.put("小峰由衣", 30);System.out.println(put7);//29//根据Key替换数据 -- 返回被替换的值Integer replace1 = map.replace("小峰由衣", 31);System.out.println(replace1);//30//根据Key+Value替换数据boolean replace2 = map.replace("小峰由衣", 31, 32);System.out.println(replace2);//true//通过key获取到valueInteger integer1 = map.get("天使萌");System.out.println("通过key获取到value:" + integer1);//通过key获取到value,如果key不存在则返回默认值Integer integer2 = map.getOrDefault("天使萌111", 888);System.out.println("通过key获取到value,如果key不存在则返回默认值:" + integer2);//清空集合中的数据//map.clear();System.out.println("判断集合中是否包含某个key:" + map.containsKey("天使萌"));System.out.println("判断集合中是否包含某个value:" + map.containsValue(26));System.out.println("判断集合是否没有元素:" + map.isEmpty());//删除元素map.remove("椎名空1");//通过key删除映射关系map.remove("小峰由衣", 32);//通过key+value删除映射关系System.out.println("获取元素(映射关系)个数:" + map.size());//获取map中所有的value,返回一个Collection集合Collection<Integer> values = map.values();System.out.println(Arrays.toString(values.toArray()));System.out.println("-----------------");//遍历1 -- keySet()//遍历思路:// 1.将map中所有的key获取出并存放在Set集合中//    2.遍历Set集合,依次取出key,再使用map.get(key)获取出对应的value值Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + " -- " + value);}System.out.println("-----------------");//遍历2 -- entrySet()//遍历思路://    1.将map中所有的映射关系对象获取出并存放在Set集合中// 2.遍历Set集合,依次取出映射关系对象,映射关系对象中包含的key和value也就取出了Set<Entry<String, Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

6.知识点:LinkedHashMap的使用

/*** 知识点:LinkedHashMap的使用* * 特点:有序 + key唯一(去重)*///创建LinkedHashMap对象LinkedHashMap<String, Integer> map = new LinkedHashMap<>();//添加数据Integer put1 = map.put("麻生希", 28);Integer put2 = map.put("椎名空", 23);Integer put3 = map.put("天使萌", 26);Integer put4 = map.put("水菜丽", 26);Integer put5 = map.put("爱田奈奈", 25);Integer put6 = map.put("小峰由衣", 29);System.out.println(put1);//nullSystem.out.println(put2);//nullSystem.out.println(put3);//nullSystem.out.println(put4);//nullSystem.out.println(put5);//nullSystem.out.println(put6);//null//将newMap集合添加到map集合中LinkedHashMap<String, Integer> newMap = new LinkedHashMap<>();newMap.put("aaa", 10);newMap.put("bbb", 20);newMap.put("ccc", 30);newMap.put("ccc", 40);map.putAll(newMap);//如果集合中有该key就获取对应的value值//如果集合中没有该key就添加数据Integer putIfAbsent = map.putIfAbsent("椎名空1", 25);System.out.println("putIfAbsent -- " + putIfAbsent);//替换数据 -- 返回被替换的值Integer put7 = map.put("小峰由衣", 30);System.out.println(put7);//29//根据Key替换数据 -- 返回被替换的值Integer replace1 = map.replace("小峰由衣", 31);System.out.println(replace1);//30//根据Key+Value替换数据boolean replace2 = map.replace("小峰由衣", 31, 32);System.out.println(replace2);//true//通过key获取到valueInteger integer1 = map.get("天使萌");System.out.println("通过key获取到value:" + integer1);//通过key获取到value,如果key不存在则返回默认值Integer integer2 = map.getOrDefault("天使萌111", 888);System.out.println("通过key获取到value,如果key不存在则返回默认值:" + integer2);//清空集合中的数据//map.clear();System.out.println("判断集合中是否包含某个key:" + map.containsKey("天使萌"));System.out.println("判断集合中是否包含某个value:" + map.containsValue(26));System.out.println("判断集合是否没有元素:" + map.isEmpty());//删除元素map.remove("椎名空1");//通过key删除映射关系map.remove("小峰由衣", 32);//通过key+value删除映射关系System.out.println("获取元素(映射关系)个数:" + map.size());//获取map中所有的value,返回一个Collection集合Collection<Integer> values = map.values();System.out.println(Arrays.toString(values.toArray()));System.out.println("-----------------");//遍历1 -- keySet()//遍历思路:// 1.将map中所有的key获取出并存放在Set集合中//    2.遍历Set集合,依次取出key,再使用map.get(key)获取出对应的value值Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + " -- " + value);}System.out.println("-----------------");//遍历2 -- entrySet()//遍历思路://    1.将map中所有的映射关系对象获取出并存放在Set集合中// 2.遍历Set集合,依次取出映射关系对象,映射关系对象中包含的key和value也就取出了Set<Entry<String, Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

7.知识点:Hashtable的使用

/*** 知识点:Hashtable的使用* * 特点:无序 + key唯一(去重) + 线程安全的(加锁)* * 注意:Hashtable方法上加锁,效率低,弃用*///创建Hashtable对象Hashtable<String, Integer> map = new Hashtable<>();//添加数据Integer put1 = map.put("麻生希", 28);Integer put2 = map.put("椎名空", 23);Integer put3 = map.put("天使萌", 26);Integer put4 = map.put("水菜丽", 26);Integer put5 = map.put("爱田奈奈", 25);Integer put6 = map.put("小峰由衣", 29);System.out.println(put1);//nullSystem.out.println(put2);//nullSystem.out.println(put3);//nullSystem.out.println(put4);//nullSystem.out.println(put5);//nullSystem.out.println(put6);//null//将newMap集合添加到map集合中Hashtable<String, Integer> newMap = new Hashtable<>();newMap.put("aaa", 10);newMap.put("bbb", 20);newMap.put("ccc", 30);newMap.put("ccc", 40);map.putAll(newMap);//如果集合中有该key就获取对应的value值//如果集合中没有该key就添加数据Integer putIfAbsent = map.putIfAbsent("椎名空1", 25);System.out.println("putIfAbsent -- " + putIfAbsent);//替换数据 -- 返回被替换的值Integer put7 = map.put("小峰由衣", 30);System.out.println(put7);//29//根据Key替换数据 -- 返回被替换的值Integer replace1 = map.replace("小峰由衣", 31);System.out.println(replace1);//30//根据Key+Value替换数据boolean replace2 = map.replace("小峰由衣", 31, 32);System.out.println(replace2);//true//通过key获取到valueInteger integer1 = map.get("天使萌");System.out.println("通过key获取到value:" + integer1);//通过key获取到value,如果key不存在则返回默认值Integer integer2 = map.getOrDefault("天使萌111", 888);System.out.println("通过key获取到value,如果key不存在则返回默认值:" + integer2);//清空集合中的数据//map.clear();System.out.println("判断集合中是否包含某个key:" + map.containsKey("天使萌"));System.out.println("判断集合中是否包含某个value:" + map.containsValue(26));System.out.println("判断集合是否没有元素:" + map.isEmpty());//删除元素map.remove("椎名空1");//通过key删除映射关系map.remove("小峰由衣", 32);//通过key+value删除映射关系System.out.println("获取元素(映射关系)个数:" + map.size());//获取map中所有的value,返回一个Collection集合Collection<Integer> values = map.values();System.out.println(Arrays.toString(values.toArray()));System.out.println("-----------------");//遍历1 -- keySet()//遍历思路:// 1.将map中所有的key获取出并存放在Set集合中//    2.遍历Set集合,依次取出key,再使用map.get(key)获取出对应的value值Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + " -- " + value);}System.out.println("-----------------");//遍历2 -- entrySet()//遍历思路://    1.将map中所有的映射关系对象获取出并存放在Set集合中// 2.遍历Set集合,依次取出映射关系对象,映射关系对象中包含的key和value也就取出了Set<Entry<String, Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

8.知识点:ConcurrentHashMap的使用

/*** 知识点:ConcurrentHashMap的使用* * 特点:无序 + key唯一(去重) + 线程安全的(加锁)* * 注意:ConcurrentHashMap是局部加锁+CAS实现的线程安全,效率高*///创建ConcurrentHashMap对象ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();//添加数据Integer put1 = map.put("麻生希", 28);Integer put2 = map.put("椎名空", 23);Integer put3 = map.put("天使萌", 26);Integer put4 = map.put("水菜丽", 26);Integer put5 = map.put("爱田奈奈", 25);Integer put6 = map.put("小峰由衣", 29);System.out.println(put1);//nullSystem.out.println(put2);//nullSystem.out.println(put3);//nullSystem.out.println(put4);//nullSystem.out.println(put5);//nullSystem.out.println(put6);//null//将newMap集合添加到map集合中ConcurrentHashMap<String, Integer> newMap = new ConcurrentHashMap<>();newMap.put("aaa", 10);newMap.put("bbb", 20);newMap.put("ccc", 30);newMap.put("ccc", 40);map.putAll(newMap);//如果集合中有该key就获取对应的value值//如果集合中没有该key就添加数据Integer putIfAbsent = map.putIfAbsent("椎名空1", 25);System.out.println("putIfAbsent -- " + putIfAbsent);//替换数据 -- 返回被替换的值Integer put7 = map.put("小峰由衣", 30);System.out.println(put7);//29//根据Key替换数据 -- 返回被替换的值Integer replace1 = map.replace("小峰由衣", 31);System.out.println(replace1);//30//根据Key+Value替换数据boolean replace2 = map.replace("小峰由衣", 31, 32);System.out.println(replace2);//true//通过key获取到valueInteger integer1 = map.get("天使萌");System.out.println("通过key获取到value:" + integer1);//通过key获取到value,如果key不存在则返回默认值Integer integer2 = map.getOrDefault("天使萌111", 888);System.out.println("通过key获取到value,如果key不存在则返回默认值:" + integer2);//清空集合中的数据//map.clear();System.out.println("判断集合中是否包含某个key:" + map.containsKey("天使萌"));System.out.println("判断集合中是否包含某个value:" + map.containsValue(26));System.out.println("判断集合是否没有元素:" + map.isEmpty());//删除元素map.remove("椎名空1");//通过key删除映射关系map.remove("小峰由衣", 32);//通过key+value删除映射关系System.out.println("获取元素(映射关系)个数:" + map.size());//获取map中所有的value,返回一个Collection集合Collection<Integer> values = map.values();System.out.println(Arrays.toString(values.toArray()));System.out.println("-----------------");//遍历1 -- keySet()//遍历思路://   1.将map中所有的key获取出并存放在Set集合中//    2.遍历Set集合,依次取出key,再使用map.get(key)获取出对应的value值Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + " -- " + value);}System.out.println("-----------------");//遍历2 -- entrySet()//遍历思路://    1.将map中所有的映射关系对象获取出并存放在Set集合中// 2.遍历Set集合,依次取出映射关系对象,映射关系对象中包含的key和value也就取出了Set<Entry<String, Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

9.HashMap vs LinkedHashMap vs Hashtable vs ConcurrentHashMap

/*** HashMap vs LinkedHashMap vs Hashtable vs ConcurrentHashMap* * HashMap:无序 + key去重 + 线程不安全* LinkedHashMap:有序 + key去重 + 线程不安全* Hashtable:无序 + key去重 + 线程安全(方法加锁,效率低,弃用)* ConcurrentHashMap:无序 + key去重 + 线程安全(局部加锁+CAS,效率高)* * 存储nullKey nullValue* HashMap               Ok* LinkedHashMap       OK* Hashtable           NO* ConcurrentHashMap   NO*/ConcurrentHashMap<Object,Object> map = new ConcurrentHashMap<>();map.put(null, null);

10.知识点:TreeMap的使用

/*** 知识点:TreeMap的使用*///创建TreeMap对象TreeMap<String, Integer> map = new TreeMap<>();//添加数据Integer put1 = map.put("麻生希", 28);Integer put2 = map.put("椎名空", 23);Integer put3 = map.put("天使萌", 26);Integer put4 = map.put("水菜丽", 26);Integer put5 = map.put("爱田奈奈", 25);Integer put6 = map.put("小峰由衣", 29);System.out.println(put1);//nullSystem.out.println(put2);//nullSystem.out.println(put3);//nullSystem.out.println(put4);//nullSystem.out.println(put5);//nullSystem.out.println(put6);//null//将newMap集合添加到map集合中TreeMap<String, Integer> newMap = new TreeMap<>();newMap.put("aaa", 10);newMap.put("bbb", 20);newMap.put("ccc", 30);newMap.put("ccc", 40);map.putAll(newMap);//如果集合中有该key就获取对应的value值//如果集合中没有该key就添加数据Integer putIfAbsent = map.putIfAbsent("椎名空1", 25);System.out.println("putIfAbsent -- " + putIfAbsent);//替换数据 -- 返回被替换的值Integer put7 = map.put("小峰由衣", 30);System.out.println(put7);//29//根据Key替换数据 -- 返回被替换的值Integer replace1 = map.replace("小峰由衣", 31);System.out.println(replace1);//30//根据Key+Value替换数据boolean replace2 = map.replace("小峰由衣", 31, 32);System.out.println(replace2);//true//通过key获取到valueInteger integer1 = map.get("天使萌");System.out.println("通过key获取到value:" + integer1);//通过key获取到value,如果key不存在则返回默认值Integer integer2 = map.getOrDefault("天使萌111", 888);System.out.println("通过key获取到value,如果key不存在则返回默认值:" + integer2);//清空集合中的数据//map.clear();System.out.println("判断集合中是否包含某个key:" + map.containsKey("天使萌"));System.out.println("判断集合中是否包含某个value:" + map.containsValue(26));System.out.println("判断集合是否没有元素:" + map.isEmpty());//删除元素map.remove("椎名空1");//通过key删除映射关系map.remove("小峰由衣", 32);//通过key+value删除映射关系System.out.println("获取元素(映射关系)个数:" + map.size());//获取map中所有的value,返回一个Collection集合Collection<Integer> values = map.values();System.out.println(Arrays.toString(values.toArray()));System.out.println("-----------------");//遍历1 -- keySet()//遍历思路://  1.将map中所有的key获取出并存放在Set集合中//    2.遍历Set集合,依次取出key,再使用map.get(key)获取出对应的value值Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + " -- " + value);}System.out.println("-----------------");//遍历2 -- entrySet()//遍历思路://    1.将map中所有的映射关系对象获取出并存放在Set集合中// 2.遍历Set集合,依次取出映射关系对象,映射关系对象中包含的key和value也就取出了Set<Entry<String, Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

11.知识点:TreeMap的特点

/*** 知识点:TreeMap的特点* * 特点:针对于Key排序*/TreeMap<String, Integer> map = new TreeMap<>();map.put("c", 24);map.put("d", 28);map.put("a", 21);map.put("b", 23);map.put("b", 26);Set<Entry<String,Integer>> entrySet = map.entrySet();for (Entry<String, Integer> entry : entrySet) {String key = entry.getKey();Integer value = entry.getValue();System.out.println(key + " -- " + value);}

12.知识点:TerrMap内置比较器

/*** 知识点:内置比较器*/TreeMap<Student, String> map = new TreeMap<>();map.put(new Student("水菜丽", '女', 25, "2204", "003"), "拍电影");map.put(new Student("佐佐木希", '女', 22, "2204", "004"), "吃马赛克");map.put(new Student("天使萌", '女', 21, "2204", "002"), "吹喇叭");map.put(new Student("上原亚衣", '女', 27, "2204", "005"), "骑马");map.put(new Student("濑亚美莉", '女', 18, "2204", "006"), "交朋友");map.put(new Student("天海翼", '女', 28, "2204", "001"), "按摩");map.put(new Student("深田咏美", '女', 23, "2204", "007"), "写代码");map.put(new Student("泷泽萝拉", '女', 25, "2204", "008"), "看书");map.put(new Student("冲田杏梨", '女', 27, "2204", "009"), "补课");Set<Entry<Student,String>> entrySet = map.entrySet();for (Entry<Student, String> entry : entrySet) {System.out.println(entry);}
-------------------------------------------------------------public class Student implements Comparable<Student>{private String name;private char sex;private int age;private String classId;private String id; @Overridepublic String toString() {return "Student [name=" + name + ", sex=" + sex + ", age=" + age + ", classId=" + classId + ", id=" + id + "]";}//排序规则:按照年龄排序@Overridepublic int compareTo(Student o) {return this.age - o.age;}

13.知识点:TreeMap外置比较器

/*** 知识点:外置比较器*/TreeMap<Student, String> map = new TreeMap<>(new Comparator<Student>() {//排序规则:按照名字长度排序,名字长度一致按照年龄排序@Overridepublic int compare(Student o1, Student o2) {if(o1.equals(o2)){return 0;}int nameLen1 = o1.getName().length();int nameLen2 = o2.getName().length();if(nameLen1 != nameLen2){return nameLen1 - nameLen2;}int age1 = o1.getAge();int age2 = o2.getAge();if(age1 != age2){return age1 - age2;}return 1;}});map.put(new Student("水菜丽", '女', 25, "2204", "003"), "拍电影");map.put(new Student("佐佐木希", '女', 22, "2204", "004"), "吃马赛克");map.put(new Student("天使萌", '女', 21, "2204", "002"), "吹喇叭");map.put(new Student("上原亚衣", '女', 27, "2204", "005"), "骑马");map.put(new Student("濑亚美莉", '女', 18, "2204", "006"), "交朋友");map.put(new Student("天海翼", '女', 28, "2204", "001"), "按摩");map.put(new Student("深田咏美", '女', 23, "2204", "007"), "写代码");map.put(new Student("泷泽萝拉", '女', 25, "2204", "008"), "看书");map.put(new Student("冲田杏梨", '女', 27, "2204", "009"), "补课");Set<Entry<Student,String>> entrySet = map.entrySet();for (Entry<Student, String> entry : entrySet) {System.out.println(entry);}

14.知识点:Collections - 集合工具类

/*** 知识点:Collections - 集合工具类*/ArrayList<Integer> list = new ArrayList<>();//批量添加数据Collections.addAll(list, 1,5,3,2,6,9,7,8);//给list进行排序Collections.sort(list);//自定义排序规则Collections.sort(list, new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return Integer.compare(o1, o2);}});Integer max = Collections.max(list);Integer min = Collections.min(list);System.out.println("最大值:" + max);System.out.println("最小值:" + min);//替换//Collections.fill(list, 888);for (Integer integer : list) {System.out.println(integer);}

15.知识点:Properties-配置文件类

/*** 知识点:Properties* 含义:配置文件类* * 注意:配置文件创建在src目录下 详细见第17天代码和视频*///创建配置文件对象Properties p = new Properties();//加载配置文件p.load(Test01.class.getClassLoader().getResourceAsStream("DBConfig.properties"));//获取配置文件中的数据String username = p.getProperty("username");String password = p.getProperty("password");System.out.println(username + " -- " + password);}

世上最全的map集合体系的使用方法---喜欢请收藏相关推荐

  1. Java进阶(七)Set系列集合、Map集合体系

    七.Set系列集合.Map集合体系 需要学会什么? Set系列集合的特点:Set系列集合的特点和底层原理. 集合工具类Collections:快速的对集合进行元素的添加.排序等操作. 综合案例:把Co ...

  2. java8新特性-stream对map集合进行过滤的方法

    java8新特性-stream对map集合进行过滤的方法 stream对map集合进行过滤的方法

  3. Java容器 | 基于源码分析Map集合体系

    一.容器之Map集合 集合体系的源码中,Map中的HashMap的设计堪称最经典,涉及数据结构.编程思想.哈希计算等等,在日常开发中对于一些源码的思想进行参考借鉴还是很有必要的. 基础:元素增查删.容 ...

  4. Java遍历Map集合的第二种方法Entry对象遍历Map集合内元素

    键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值. 操作步骤: 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回.方法提示:entry ...

  5. 遍历map集合的四种方法

    首先我们要知道,开发中最常用的就是List集合和Map集合,Map集合是基于java核心类--java.util中的:Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过ke ...

  6. 遍历Map集合的两种方法

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;/*** ...

  7. java 取map中的数据_获取Map集合中数据的方法

    importjava.util.HashMap;importjava.util.Iterator;importjava.util.LinkedHashMap;importjava.util.Map;i ...

  8. java如何对List集合中的元素进行排序(请收藏)

    在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工 ...

  9. java进阶开发-----Set集合、Map集合(接java集合)

    (一).Set系列集合 Set系列集合特点 无序:存取顺序不一致 不重复:可以去除重复 无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素. Set集合实现类特点 Ha ...

  10. Java_Collection集合与Map集合的理解与应用

    集合 概述:可以存储多个数据的容器 集合和数组的区别: 相同点:都可以存储多个数组 不同点: 数组中可以存多个数据,但是不能自由的实现数据的新增和删除操作 集合中除了可以存储多个数据,还可以自由的实现 ...

最新文章

  1. 批标准归一化(Batch Normalization)解析
  2. js关于正则的前后关联约束(前后预查)
  3. win10 linux子系统
  4. sqlmap源码阅读系列检查是否满足依赖
  5. 收藏 | 图像处理Transformer:华为诺亚、北大等IPT模型,刷榜
  6. 基于JAVA+SpringMVC+MYSQL的记账管理系统
  7. Easy-RSA 3快速入门自述文件
  8. mongodb 索引1
  9. php命名空间namespace应用
  10. vostro3470装win7_dell latitude3470怎么安装win7系统
  11. Android底部菜单栏(图片+文字)
  12. Vue3的生命周期的使用
  13. 惠普笔记本重装系统后没有声音如何解决
  14. 微信小程序web-view显示html页面
  15. @Autowired的原理简识
  16. 为什么网络进不去别的计算机,win7在网上邻居上看不到别的电脑如何解决
  17. 猎头职场:真正城府深的人都不会做这些
  18. 玩转PYthon,用Python绘制全球疫情变化地图(好东西,值得一看~~~)
  19. Java把文件压缩成.zip压缩包和解压.zip压缩包(ZipOutputStream、ZipInputStream)
  20. 文件重命名后缀名没法改,教你轻松解决方法

热门文章

  1. Asp.net mvc5开源项目超级冷笑话
  2. mac下玩英雄联盟LoL国服的新办法
  3. 测绘工程专业与计算机,测绘工程专业的计算机技术教学
  4. js 输入数字金额同步转换为大写金额方法
  5. VirtualBox 磁盘扩容(亲测有效)
  6. tp无线路由器设置打印服务器,打印服务器复位大全tplink路由器设置
  7. 多糖类水凝胶构建制备介绍(瑞禧多糖水凝胶简述)
  8. 高琪飞机项目飞机爆炸图片_爆炸式的工作机会和多项目同步
  9. Android-手撸抖音“潜艇大挑战”,最简单的Android自定义ListView下拉刷新与上拉加载
  10. Python爬虫——糗百