大家好,我是Java进阶。一、LinkedHashMap类1、LinkedHashMap类是HashMap的子类。LinkedHashMap可以使用双向链表来维护内部元素之间的关系,保证元素迭代的顺序。迭代顺序可以是插入顺序或访问顺序。HashMap是无序的,LinkedHashMap是有序的。2、LinkedHashMap使用示例:importjava.util.*;publicclassm02{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubMapm=newHashMap();m.put("1","Javaprogramming");m.put("2","软件测试");m.put("3","数据库原理与应用");Setks=m.keySet();Iteratori=ks.iterator();while(i.hasNext()){Stringkey=(String)i.next();Stringvalue=(String)m.get(key);System.out.println(key+"--"+value);}}}运行结果为:2.如何收集Map中存储的所有值的集合?1.获取Map中存储的所有值的集合的值,调用Map的values()方法,然后遍历集合中的每一个值。2、实现示例:importjava.util.*;publicclassm01{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubMapm=newHashMap();//存储key和valuem.put("c1","Java编程");m.put("c2","软件Testing");m.put("c3","数据库原理与应用");Collectionv=m.values();Iteratori=v.iterator();while(i.hasNext()){Stringvalue=(String)i.next();System.out.println(value);}}}运行结果为:3.TreeMap集合1.TreeMap是Map中的一个interfaces一个实现类。TreeMap也是用来存储key和value的,不能出现重复的key。TreeMap是按照键(key)的自然顺序排列的。2.TreeMap使用示例:importjava.util.*;publicclassm02{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubTreeMapm=newTreeMap();m.put("4","Javaprogramming");m.put("6","软件测试");m.put("2","数据库原理及应用");Setks=m.keySet();Iteratori=ks.iterator();while(i.hasNext()){Stringkey=(String)i.next();Stringvalue=(String)m.get(key);System.out.println(key+"--"+value);}}}运行结果为:4.使用TreeMap集合,以学生为对象,将学生的学号从大到小排序。1.使用TreeMap集合通过自定义比较器方法对所有键进行排序。2.实例的实现:importjava.util.*;publicclassm02{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//创建TreeMap集合TreeMapm=newTreeMap(newMy());m.put("4","张三");m.put("6","李四");m.put("2","王舞");Setks=m.keySet();Iteratori=ks.iterator();while(i.hasNext()){Stringkey=(String)i.next();Stringvalue=(String)m.get(key);System.out.println(key+"--"+value);}}}//定义类自自定义比较器classMyimplementsComparator{//实现比较方法publicintcompare(Objectobj1,Objectobj2){Stringid1=(String)obj1;Stringid2=(String)obj2;returnid2.compareTo(id1);}}运行结果为:五、总结本文主要介绍LinkedHashMap类,Map中如何存储所有值的Collection集合,TreeMap集合,利用TreeMap集合以学生为对象对学生的学号从大到小进行排序。LinkedHashMap可以使用双向链表维护内部元素之间的关系,保证元素迭代的顺序,可以是插入顺序,也可以是访问顺序。要获取Map中存储的所有值的Collection集合的值,调用Map的values()方法。使用TreeMap集合实现以学生为对象对学生的学号从大到小进行排序,是通过自定义一个comparator方法,然后实现比较方法。希望大家可以通过本文学习,对大家有所帮助!本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。
