遍历HashMap和ArrayList
来源:互联网 发布:男士 护肤品牌 知乎 编辑:程序博客网 时间:2024/06/06 06:19
一、遍历HashMap
1、第一种方式 :keySet()得到所有键的集合存储在set<String>中,存入set集合,set有迭代器,使用迭代器每次得到一个键,根据键获取值。
Map<String,User> map1=new HashMap();map1.put("04", new User("张一","111",18));map1.put("05", new User("张二","222",19));map1.put("06", new User("张三","333",20));Set<String> keys=map1.keySet();Iterator<String> ite=keys.iterator();//获得key的迭代器while(ite.hasNext()){ String key=ite.next();//迭代器是key的迭代器 User user=map1.get(key); System.out.println(key+"---->"+user);}
2、第一种方式使用增强for循环,不建议使用。
Map<String,User> Usermap1=new HashMap();Usermap1.put("1", new User("张一","111",18));Usermap1.put("2", new User("张二","222",19));Usermap1.put("3", new User("张三","333",20));for(String str:Usermap1.keySet()){ String key=str; User user=Usermap1.get(key); System.out.println(key+"------------>"+user); }3、entrySet()得到每个键值对应的映射关系(Map.Entry<String, V>)类型的值存入set集合,set迭代器每次迭代出来一个映射关系类型的值,从这个映射关系中即可以得到键,也可以获得值。
Map<String,User> map2=new HashMap();map2.put("07", new User("张一","111",18));map2.put("08", new User("张二","222",19));map2.put("09", new User("张三","333",20));Set<Map.Entry<String, User>> entry=map2.entrySet();//获得Map.Entry<String,User>的迭代器Iterator<Map.Entry<String, User>> ite2=entry.iterator();while(ite2.hasNext()){ Map.Entry<String, User> en=ite2.next(); String key=en.getKey(); User user =en.getValue(); System.out.println(key+"-->"+user);}4、第三种方式使用增强for循环,建议使用。
Map<String,User> Usermap2=new HashMap();Usermap2.put("01", new User("张一","111",18));Usermap2.put("02", new User("张二","222",19));Usermap2.put("03", new User("张三","333",20));for(Map.Entry<String, User> en:Usermap2.entrySet()){ String key=en.getKey(); User user=en.getValue(); System.out.println(key+"-------->"+user);}二、遍历ArrayList
list的遍历比较简单,此处从简。
@Testpublic void test2(){List<String> list=new ArrayList<String>();list.add("王一");list.add("王二");list.add("王三");//直接输出System.out.println(list);//[王一, 王二, 王三]//集合转数组输出Object arr[]=list.toArray(); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]);//王一 王二 王三}//使用迭代器输出Iterator<String> ite =list.iterator();while(ite.hasNext()){ System.out.println(ite.next());//王一 王二 王三}//for循环输出for(int i=0;i<list.size();i++){ Object obj=list.get(i); System.out.println(obj);//王一 王二 王三}//使用remove方法while(!list.isEmpty()){ System.out.println(list.remove(0));//王一 王二 王三} System.out.println(list.size());//0List<User> list2=new ArrayList<User>(); list2.add(new User("王四","444",18)); list2.add(new User("王五","555",19)); list2.add(new User("王六","666",20));System.out.println(list2);for(int i=0;i<list2.size();i++){ Object obj=list2.get(i); System.out.println(obj);//王一 王二 王三 }}
0 0
- 遍历HashMap和ArrayList
- Arraylist HashMap HashSet 遍历
- ArrayList和hashMap的几种遍历方法
- Java基础之ArrayList和HashMap的遍历
- Java中ArrayList与HashMap的遍历
- Java中ArrayList与HashMap的遍历
- 遍历ArrayList和遍历Map
- Vector、ArrayList和hashtable hashmap
- HashMap和ArrayList如何扩容
- 实现ArrayList和HashMap类
- ArrayList和HashMap常见用法
- 遍历HashMap和Map
- HashMap遍历和使用
- Vector和ArrayList Hashtable和HashMap ArrayList和LinkedList
- HashTable和HashMap; Vector和 ArrayList
- ArrayList 和Vector HashTable和HashMap
- ArrayList的初始化和遍历
- Java 遍历 ArrayList和Map
- 多态基类声明virtual析构函数
- LightOJ1274(组合数)
- Android MD5
- Spring Boot / Spring MVC 入门实践 (四) :需求记录网站的实现
- 优秀的自学机器学习课程
- 遍历HashMap和ArrayList
- 输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果
- Storm 1.0.2 - 单词计数案例学习
- linux通信 --- 消息队列
- 变换编码增益(Transform Coding Gain)
- CF 4D Mysterious Present
- Windows环境下的NodeJS+NPM+Bower安装配
- 三道找规律的题
- 几种排序总结(一)