Collection集合的四种遍历方式:
1、迭代器
public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list,"小明","小红","小芳","小雅");Iterator<String> iterator = list.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}}
2、增强for循环
public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list,"小明","小红","小芳","小雅");for (String item : list) {System.out.println(item);}}
3、foreach循环和Lambda表达式
public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list,"小明","小红","小芳","小雅");list.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});}// 使用Lambda表达式简化public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list,"小明","小红","小芳","小雅");list.forEach(System.out::println);}
4、List集合是有索引的,而Set集合无索引,因此List集合比Set集合多了一个fori循环
public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list,"小明","小红","小芳","小雅");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}
Map集合遍历的三种 遍历方式
1、由键找值
public static void main(String[] args) {Map<String, Integer> hashMap = new HashMap<>();hashMap.put("面",2);hashMap.put("水",3);hashMap.put("鱼",4);hashMap.put("龟",5);Set<String> keySet = hashMap.keySet();for (String key : keySet) {System.out.println(key+hashMap.get(key));}}
2、键值对
public static void main(String[] args) {Map<String, Integer> hashMap = new HashMap<>();hashMap.put("面",2);hashMap.put("水",3);hashMap.put("鱼",4);hashMap.put("龟",5);Set<Map.Entry<String, Integer>> entries = hashMap.entrySet();for (Map.Entry<String, Integer> entry : entries) {System.out.println(entry.getKey()+entry.getValue());}}
3、forEach循环以及使用Lambda表达式简化
public static void main(String[] args) {Map<String, Integer> hashMap = new HashMap<>();hashMap.put("面",2);hashMap.put("水",3);hashMap.put("鱼",4);hashMap.put("龟",5);hashMap.forEach(new BiConsumer<String, Integer>() {@Overridepublic void accept(String s, Integer integer) {System.out.println(s+integer);}});}// 使用Lambda表达式简化public static void main(String[] args) {Map<String, Integer> hashMap = new HashMap<>();hashMap.put("面",2);hashMap.put("水",3);hashMap.put("鱼",4);hashMap.put("龟",5);hashMap.forEach((s, integer) -> System.out.println(s+integer));}