集合遍历

集合遍历

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

一、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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Django(54)drf视图家族「建议收藏」

    Django(54)drf视图家族「建议收藏」视图家族drf的视图总共分为以下4个,对应4个源码文件views:视图类generics:工具视图mixins:视图工具集viewsets:视图集学习曲线我们学习视图,可以按照以下的曲线

  • pytest重试_pytest失败重跑

    pytest重试_pytest失败重跑安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

  • 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux)

    现在是2019.7.21,由于这阵一直在忙,今天我用最新的VSCode(Version1.36.1)和最新的Cpp插件(version0.24.0)按照本文的安装步骤从零开始试了一下,由于vscode版本和cpp插件版本更新确实变化了很多,2019年7月21日更新的我会用这个颜色(粉色?)标示出来,供大家参考进行配置。也可以参考官方文档:https://code.visualstudio.c…

  • WAP网页设计入门 [转]「建议收藏」

    WAP网页设计入门 [转]「建议收藏」WAP网页设计入门[转]手机专用网页(WML篇)1.基本规则2.基本格式和文件头3.显示文本4.显示图片5.锚和任务6.显示表单7.事件8.CGI编程   这里介绍WAP协议标准组织所制定的标记语言WML,由于和以前介绍的HDML在手机浏览器专用网页的特征上基本一致,所以概念部分就略去了,直接讲述语言。1。基本规则  * WML使用XML文档字符集…

    2022年10月25日
  • WebGrid Enterprise免费下载[通俗易懂]

    WebGrid Enterprise免费下载[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

  • Linux查看端口占用情况的几种方式「建议收藏」

    Linux查看端口占用情况的几种方式「建议收藏」概述测试环境为Centos7.9,本文简单给出了几种检测端口的例子。一、查看本机端口占用1、netstat#安装netstatyum-yinstallnet-tools#检测端口占用netstat-npl|grep”端口”2、lsof#安装lsofyum-yinstalllsof#检测端口占用lsof-i:端口号二、查看对方端口是否开放1、nc(netcat)#安装ncyum-yinstallnc#查看对方端口是否开放nc-vz对

发表回复

您的电子邮箱地址不会被公开。

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