集合遍历

集合遍历

经常会用到集合的遍历,但是还是记不住常用的遍历方法,每次都得到处去找,现在索性就都找好了放在博客里面,方便以后查阅的同时也顺带着水一篇博客。

一、map遍历

方法一:

System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
   System.out.println("key= "+ key + " and value= " + map.get(key));
 }

方法二:

System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
   Map.Entry<String, String> entry = it.next();
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }

方法三:

System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }

方法四:

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
   System.out.println("value= " + v);
  }

  

二、set遍历

方法一:

Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
  String str = it.next();
  System.out.println(str);
}

方法二:

for (String str : set) {
      System.out.println(str);
}

方法三:

Set<Object> set = new HashSet<Object>();

for (Object obj: set) {
      if(obj instanceof Integer){
                int aa= (Integer)obj;
             }else if(obj instanceof String){
               String aa = (String)obj
             }
    System.out.println(aa);
} 

  

 

三、map按照value值排序

public static HashMap sortByValue(HashMap<String, Integer> map) {//desc  
	List list = new LinkedList(map.entrySet());  
	Collections.sort(list, new Comparator(){  
	       public int compare(Object o1, Object o2) {  
	                 return ((Comparable) ((Map.Entry)o2).getValue())  
	                    .compareTo(((Map.Entry)o1).getValue());  
	       }  
     });  
	 LinkedHashMap result = new LinkedHashMap();  
	  
	 for (Iterator it = list.iterator(); it.hasNext();) {  
	      Map.Entry entry = (Map .Entry) it.next();  
	      result.put(entry.getKey(), entry.getValue());  
	  }  
	  return result;  
	}  

  

  

转载于:https://www.cnblogs.com/zidiancao/p/3948750.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109742.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm连接mysql数据库报错1130,1054「建议收藏」

    Pycharm连接mysql数据库报错1130,1054「建议收藏」Pycharm连接mysql报错1130,1054

    2022年8月27日
    4
  • Vue上传图片_解调的三种方式

    Vue上传图片_解调的三种方式项目中需要上传图片可谓是经常遇到的需求,本文将介绍3种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来。没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架…

    2022年10月16日
    3
  • 500-内部服务器错误_win7无法启动server服务错误1083

    500-内部服务器错误_win7无法启动server服务错误1083我们在操作win10系统电脑的时候,常常会遇到win10系统提示http500内部服务器错误的情况,想必大家都遇到过win10系统提示http500内部服务器错误的情况吧,那么应该怎么处理win10系统提示http500内部服务器错误呢?我们依照在ie浏览器中点击右上角的设置按钮,在弹出的菜单中点击“internet选项”按钮;在internet选项界面切换到【高级】选卡;这样的步骤就行…

    2022年8月12日
    6
  • pucharm激活码(JetBrains全家桶)「建议收藏」

    (pucharm激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~9071407CR5-eyJsaWNlb…

    2022年3月22日
    70
  • Kali 安装详细步骤

    Kali 安装详细步骤本文主要详细介绍kali的安装过程,以及安装完成后的基本设置,比如安装增强工具,安装中文输入法以及更新升级等操作。

    2022年4月30日
    93
  • POSTMAN自动生成接口文档_django官方文档

    POSTMAN自动生成接口文档_django官方文档介绍drf-spectacular是为DjangoRESTFramework生成合理灵活的OpenAPI3.0模式。它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不

    2022年7月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号