HashMap的键值对遍历。Set的iterator()方法,Map的entrySet()方法。
//遍历HashMap的键值对 HashMap的entrySet()方法可以返回一个Set<Entry<String,Object>> public static void main(String[] args) { Map<String, Object> map=new HashMap<String, Object>(); map.put("name", "shilu"); map.put("age", 11); map.put("address", "xidajie"); Set<Entry<String,Object>> set = map.entrySet(); Iterator<Entry<String, Object>> it = set.iterator(); while(it.hasNext()){ Entry<String, Object> next = it.next(); String key = next.getKey(); Object value = next.getValue(); System.out.println(key+"===="+value); } |
HashMap键的遍历,Map的keySet()方法,返回Set
public static void main(String[] args) { //遍历hashMap的key,用hashMap的keySet()方法返回Set HashMap<String, Object> map=new HashMap<String, Object>(); map.put("name", "shilu"); map.put("age", 11); map.put("address", "xidajie"); Set<String> set = map.keySet(); Iterator<String> it = set.iterator(); while(it.hasNext()){ String next = it.next(); System.out.println(next); } System.out.println(map); } |
HashMap值的遍历,Map的values()方法,返回Collection
public static void main(String[] args) { //遍历HashMap的值。用hashMap的values()方法,返回一个Collection Map<String, Object> map=new HashMap<String, Object>(); map.put("name", "shilu"); map.put("age", 11); map.put("address", "xidajie"); Collection<Object> values = map.values(); Iterator<Object> it = values.iterator(); while(it.hasNext()){ Object next = it.next(); System.out.println(next); } } |
HashMap的排序,使用entrySet()返回一个Set,并且new ArrayList(Set)得到ArrayList,然后重写comparator接口里边的compare()方法。最后Collections.sort(list,com)
public static void main(String[] args) { //按照姓名在字典里的顺序进行排序 Map<String, Student> map=new HashMap<String, Student>(); Student s1=new Student("zhangsan", "s11"); Student s2=new Student("lisi", "s22"); Student s3=new Student("wangwu", "s33"); map.put("s1", s1); map.put("s2", s2); map.put("s3", s3); Set<Entry<String, Student>> entrySet = map.entrySet(); ArrayList<Entry<String,Student>> list = new ArrayList<Entry<String, Student>>(entrySet); Comparator<Entry<String,Student>> com=new Comparator<Map.Entry<String,Student>>() { @Override public int compare(Entry<String, Student> o1, Entry<String, Student> o2) { return o1.getValue().getName().compareTo(o2.getValue().getName()); } }; Collections.sort(list, com); System.out.println(list); } |