Collection 遍历的三种方式
1)迭代器遍历
Iterator<String> it = lists.iterator(); while (it.hasNext()) { System.out.println(it.next()); }
(2)增强for循环遍历
String[] names = {"Angela", "baby", "坤坤"}; for (String name : names) { System.out.println(name); }
(3)Lambda表达式遍历
lists.forEach(new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } }); lists.forEach(s -> System.out.println(s)); lists.forEach(System.out::println);
Map遍历的三种方式
(1)键找值
public class Demo1 { public static void main(String[] args) { // 目标:掌握Map集合的遍历方式一:键找值 Map<String, Double> map = new HashMap<>(); map.put("杨颖", 168.8); map.put("韩红", 152.5); map.put("杨紫", 167.5); map.put("蔡徐坤", 183.6); System.out.println(map); // 1.先得到所有键的集合 Set<String> keys = map.keySet(); // 2.遍历键的集合,分别取出每个键对应的值 for (String key : keys) { Double value = map.get(key); System.out.println(key + "====>" + value); } } }
(2)键值对
public class Demo2 { public static void main(String[] args) { // 目标:掌握Map集合的遍历方式二:键值对 Map<String, Double> map = new HashMap<>(); map.put("杨颖", 168.8); map.put("韩红", 152.5); map.put("杨紫", 167.5); map.put("蔡徐坤", 183.6); System.out.println(map); // {杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5} // 1.获取键值对的集合, 结果是一个Set集合 Set<Map.Entry<String, Double>> entries = map.entrySet(); System.out.println(entries); // [杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5] // 2.遍历Set集合,分别获取每个键值对的键和对应的值 for (Map.Entry<String, Double> entry : entries) { String key = entry.getKey(); Double value = entry.getValue(); System.out.println(key + "===>" + value); } } }
(3)Lambda表达式
public class Demo3 { public static void main(String[] args) { // 目标:掌握Map集合的遍历方式三:Lambda表达式 Map<String, Double> map = new HashMap<>(); map.put("杨颖", 168.8); map.put("韩红", 152.5); map.put("杨紫", 167.5); map.put("蔡徐坤", 183.6); System.out.println(map); // {杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5} // 需要用到Map提供的forEach方法 map.forEach(new BiConsumer<String, Double>() { @Override public void accept(String k, Double v) { System.out.println(k + "--->" + v); } }); // 简化为Lambda表达式 map.forEach((k, v) -> System.out.println(k + "--->" + v)); } }