Collection和Map的遍历方式
2023-12-14 00:51:34
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));
}
}
文章来源:https://blog.csdn.net/Y2000104/article/details/134836276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!