您的位置:首页 > 编程语言 > Java开发

Java List与Set遍历

2016-01-31 22:42 411 查看
一、List的遍历

public class Demo {
public static void main(String[] args) {
List al = new LinkedList();//这里linkedList换成ArrayList,输出结果是一样的
al.add("hello");
al.add(8);
al.add('c');
al.add(3.14);

System.out.println(al);

for(int i = 0; i < al.size(); i++) {
System.out.println(al.get(i));
}

System.out.println("~~~~");

for(Object obj : al) {
System.out.println(obj);
}
}

}


输出:

[hello, 8, c, 3.14]

hello

8

c

3.14

~~~~

hello

8

c

3.14

小结:

1、List对象可以直接传入System.out.println()打印。

2、可以用for循环遍历List,用get()方法获取每个元素。

3、可以用forEach遍历List。

二、Set的遍历:

如果把List换成Set:

public class Demo {
public static void main(String[] args) {
Set al = new HashSet();//不能将HashSet换成TreeSet,否则添加不了不同类型的对象做元素
al.add("hello");
al.add(8);
al.add('c');
al.add(3.14);

System.out.println(al);

//Set没有定义get()方法用来遍历元素
//      for(int i = 0; i < al.size(); i++) {
//          System.out.println(al.get(i));
//      }

System.out.println("~~~~");

for(Object obj : al) {
System.out.println(obj);
}
}

}


输出:

[c, 3.14, 8, hello]

~~~~

c

3.14

8

hello

注意:

Set不能用get()方法来获取元素。那么除了foreach之外,还能怎么遍历呢?

用迭代器Iterator遍历:

在main()方法最后面加上这几行:

Iterator iterator = al.iterator();
while(iterator.hasNext()) {
Object obj = iterator.next();
System.out.println(obj);
}


这几行输出为:

c

3.14

8

hello

与foreach遍历结果一样。

小结:

iterator()方法会返回一个Iterator对象,可以用其next()方法遍历所有元素,用hasNext()方法判断是否还有元素。

注意,我们用add添加的顺序与遍历打印出来的顺序并不一样,说明HashSet里元素不是按添加顺序排列的。实际上它们的排列顺序与哈希值有关,具体规则另行学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息