各种集合的遍历方式
List
//第一种:增强for循环 List<String> list = new ArrayList<String>(); list.add("天麻"); list.add("地星"); list.add("小茴香"); for(String temp:list) { System.out.println(temp); } //第二种:for循环 for(int i=0;i<list.size();i++) { System.out.println(list.get(i)); } //第三种:迭代器 Iterator<String> iterator = list.iterator(); while(iterator.hasNext()) { String lis = iterator.next(); System.out.println(lis); }
ArrayLIst
ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("苹果"); arrayList.add("香蕉"); arrayList.add("西瓜"); arrayList.add("葡萄"); //for循环 for(int i=0; i < arrayList.size();i++) { System.out.println(arrayList.get(i)); } //增强for循环 for (String string : arrayList) { System.out.println(string); } //使用Iterator迭代器 Iterator<String> it = arrayList.iterator(); while(it.hasNext()) { String a = it.next();//如果要删除集合中的元素,使用这种 it.remove(); System.out.println(a); } //第二种iterator for(Iterator it2=arrayList.iterator();it2.hasNext();) { System.out.println(it2.next()); }
hashmap
/**第一种遍历方式 * 1.调用map集合中的方法keySet,所有的键存储到Set集合中 * 2,遍历Set集合,获取出Set集合中的所有元素(map中的键) * 3.调用map集合方法get,通过键获取值 */ Set<String> keySet = maps.keySet(); Iterator<String> it = keySet.iterator(); while(it.hasNext()) { String next = it.next(); String s = maps.get(next); System.out.println(s); }
/** * 第二种遍历 * A:Map集合遍历方式entrySet方法 * * Map集合获取方式 * entrySet方法,键值对映射关系(结婚证)获取 * 实现步骤: * 1. 调用map集合方法entrySet()将集合中的映射关系对象,存储到Set集合Set<Entry <K,V> > * 2. 迭代Set集合 * 3. 获取出的Set集合的元素,是映射关系对象 * 4. 通过映射关系对象方法 getKet, getValue获取键值对 * * 创建内部类对象 外部类.内部类 = new */ Set<Entry<String, String>> entrySet = maps.entrySet(); Iterator<Entry<String, String>> it = entrySet.iterator(); while(it.hasNext()) { Entry<String, String> n = it.next(); System.out.println(n.getKey()+"---"+n.getValue()); }
//第三种方式增强for循环 for (Map.Entry<String, String> entrys : maps.entrySet()) { System.out.println(entrys.getKey()+"--->"+entrys.getValue()); }
//第四种方式:lambda表达式 maps.forEach((key,value)->{ System.out.println(key+"---->"+value); });
//第五种方式:使用streamAPI遍历 maps.entrySet().stream().forEach((entry)->{ System.out.println(entry.getKey()+"--->"+entry.getValue()); });
set
HashSet<String> set = new HashSet<>(); set.add("花生"); set.add("绿豆"); set.add("核桃"); set.add("薏米"); //第一种:增强for循环 for(String temp:set) { System.out.println(temp); } //第二种:使用迭代器 for(Iterator it=set.iterator();it.hasNext();) { System.out.println(it.next()); }