Java 实例 - 集合遍历

List与Set类型集合的遍历

 1 import java.util.ArrayList;
 2 import java.util.HashSet;
 3 import java.util.Iterator;
 4 import java.util.List;
 5 import java.util.Set;
 6
 7 public class Main {
 8
 9    public static void main(String[] args) {
10       // List集合的遍历
11       listTest();
12       // Set集合的遍历
13       setTest();
14    }
15
16    private static void setTest() {
17       Set<String> set = new HashSet<String>();
18       set.add("JAVA");
19       set.add("C");
20       set.add("C++");
21       // 重复数据添加失败
22       set.add("JAVA");
23       set.add("JAVASCRIPT");
24
25       // 使用iterator遍历set集合
26       Iterator<String> it = set.iterator();
27       while (it.hasNext()) {
28          String value = it.next();
29          System.out.println(value);
30       }
31
32       // 使用增强for循环遍历set集合
33       for(String s: set){
34          System.out.println(s);
35       }
36    }
37
38    // 遍历list集合
39    private static void listTest() {
40       List<String> list = new ArrayList<String>();
41       list.add("W");
42       list.add("M");
43       list.add("L");
44       list.add("D");
45       list.add("www.pekst.com");
46
47       // 使用iterator遍历
48       Iterator<String> it = list.iterator();
49       while (it.hasNext()) {
50          String value = it.next();
51          System.out.println(value);
52       }
53
54       // 使用传统for循环进行遍历
55       for (int i = 0, size = list.size(); i < size; i++) {
56          String value = list.get(i);
57          System.out.println(value);
58       }
59
60       // 使用增强for循环进行遍历
61       for (String value : list) {
62          System.out.println(value);
63       }
64    }
65 }

关于Map类型集合的遍历

以下实例我们使用了 HashMap 的 keySet()与entrySet()方法来遍历集合:

 1 import java.util.Map;
 2 import java.util.HashMap;
 3 import java.util.HashSet;
 4 import java.util.Iterator;
 5 import java.util.List;
 6 import java.util.Set;
 7 import java.util.Map.Entry;
 8
 9 //增强For循环
10 public class Main {
11
12    public static void main(String[] args) {
13       // 创建一个HashMap对象,并加入了一些键值对。
14       Map<String, String> maps = new HashMap<String, String>();
15       maps.put("1", "PHP");
16       maps.put("2", "Java");
17       maps.put("3", "C");
18       maps.put("4", "C++");
19       maps.put("5", "HTML");
20
21       // 传统的遍历map集合的方法1; keySet()
22       //traditionalMethod1(maps);
23       // 传统的遍历map集合的方法2; entrySet()
24       //traditionalMethod2(maps);
25       // 使用增强For循环来遍历map集合方法1; keySet()
26       //strongForMethod1(maps);
27       // 使用增强For循环来遍历map集合方法2; entrySet()
28       strongForMethod2(maps);
29    }
30
31    private static void strongForMethod2(Map<String, String> maps) {
32       Set<Entry<String, String>> set = maps.entrySet();
33       for (Entry<String, String> entry : set) {
34          String key = entry.getKey();
35          String value = entry.getValue();
36          System.out.println(key + " : " + value);
37       }
38    }
39
40    private static void strongForMethod1(Map<String, String> maps) {
41       Set<String> set = maps.keySet();
42       for (String s : set) {
43          String key = s;
44          String value = maps.get(s);
45          System.out.println(key + " : " + value);
46       }
47    }
48
49    // 使用entrySet()方法,获取maps集合中的每一个键值对,
50    private static void traditionalMethod2(Map<String, String> maps) {
51       Set<Map.Entry<String, String>> sets = maps.entrySet();
52       // 取得迭代器遍历出对应的值。
53       Iterator<Entry<String, String>> it = sets.iterator();
54       while (it.hasNext()) {
55          Map.Entry<String, String> entry = (Entry<String, String>) it.next();
56          String key = entry.getKey();
57          String value = entry.getValue();
58          System.out.println(key + " : " + value);
59       }
60    }
61
62    // 使用keySet()方法,获取maps集合中的所有键,遍历键取得所对应的值。
63    private static void traditionalMethod1(Map<String, String> maps) {
64       Set<String> sets = maps.keySet();
65       // 取得迭代器遍历出对应的值
66       Iterator<String> it = sets.iterator();
67       while (it.hasNext()) {
68          String key = it.next();
69          String value = maps.get(key);
70          System.out.println(key + " : " + value);
71       }
72    }
73 }

原文地址:https://www.cnblogs.com/i-i-/p/8979492.html

时间: 2024-11-08 13:50:12

Java 实例 - 集合遍历的相关文章

Java - 35 Java 实例

Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Java 实例 – 如何查看当前 Java 运行的版本? Java 字符串 Java 实例 – 字符串比较 Java 实例 - 查找字符串最后一次出现的位置 Java 实例 -

java 集合遍历时删除元素

本文探讨集合在遍历时删除其中元素的一些注意事项,代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 import java.util.ArrayList; import java.util.Iterator; import java

Java集合遍历时删除

public static void main(String[] args){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); Iterator<Integer> interator = list.iterator(); while(interator.hasNext()){ Integer i

java集合遍历的几种方式总结及比较

集合类的通用遍历方式, 用迭代器迭代: Iterator it = list.iterator(); while(it.hasNext()) { Object obj = it.next(); } Map遍历方式: 1.通过获取所有的key按照key来遍历 //Set<Integer> set = map.keySet(); //得到所有key的集合 for (Integer in : map.keySet()) { String str = map.get(in);//得到每个key多对用v

Java集合遍历性能

数据在内存中主要有两种存储方式: 1.顺序存储,Random Access(Direct Access) 这种方式,相邻的数据元素存放于相邻的内存地址中,整块内存地址是连续的,可以根据元素的位置直接计算出内存地址,直接进行读取.读取一个特定位置元素的平均时间复杂度为O(1).正常来说,只有基于数组实现的集合,才有这种特性.Java中以ArrayList为代表. 2.链式存储,Sequential Access: 这种方式,每一个数据元素,在内存中都不要求处于相邻的位置,每个数据元素包含他的下一个

JAVA中集合转数组遍历

JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {        // TODO Auto-generated method stub        Collection c=new ArrayList();        c.add(new Student("kj",12));        c.add(new Student("uj

java关于集合的遍历与增强for循环(foreach)的使用

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 许多情况需要我们遍历出集合中的元素,并做相应的处理. 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 关于List与Set类型集合的遍历: 1 import

java集合遍历删除指定元素异常分析总结

在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又遇到了这个问题,因此,总结下遍历集合的同时如何删除集合中指定的元素: 1.错误场景复原 public class ListRemoveTest { public static void main(String[] args) { List<User> users = new ArrayList&l

java之集合概述

集合也称容器:从大的类别分成两类:Collection和Map,也即:单列和双列列表. java编程思想中一张图说明该体系的整体结构:其中黑色着重的类是经常使用的类. 1 Collection Collection:作为单列集合的根接口.该类集合的继承体系如下: Collection分为两大类:List和Set 1)List: 特点:有序的 collection(也称为序列):列表通常允许重复的元素.       List 接口提供了特殊的迭代器,称为 ListIterator,除了允许 Ite