Java中Set 和List两个集合怎样互相转化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中Set 和List两个集合怎样互相转化相关的知识,希望对你有一定的参考价值。

Set和List都是接口,他们的取得都必须是实现了Collection接口和Iterable接口的类。只要是实现了这两个接口的类都就可以实现取得Set接口对象和List接口的目的。

我只用过Set,觉得他们用的地方不一样,所以应该是不能转换的。

真正要进行转换的话,就应当是用实现了Collection接口和Iterable接口的集合对象去取得这两个接口的对象吧。
参考技术A 你想如何转化?复制元素就是行了么

Java中Set集合怎样用for遍历?

Java中Set集合怎样用for遍历?

增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中,随便举个例子
比如对 set 的遍历
一般是迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext())
String str = it.next();
System.out.println(str);

for循环遍历:
for (String str : set)
System.out.println(str);

是不是简单些?

优点还体现在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set)
if(obj instanceof Integer)
int aa= (Integer)obj;
else if(obj instanceof String)
String aa = (String)obj

........


唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
for (String str : set)
set.remove(str);//错误!
参考技术A for(Object object : set)
for(int i=0;i<=list.size();i++)
list.get(i);

两种方式都可以
在MyEclipse中打for 按 Alt +/ 有for的所有使用方式 。
手打不容易谢谢采纳
参考技术B 你如果觉得set集合跟你以往集合操作习惯不一样,完全可以把他转化成List集合,
Set<String> set = new HashSet<String>();
List<String> list=new ArrayList<String>(set);

以上是关于Java中Set 和List两个集合怎样互相转化的主要内容,如果未能解决你的问题,请参考以下文章

Set集合转化List集合

Java中Set集合怎样用for遍历?

Set集合转化List集合

怎样从java集合类set中取出数据

怎样从java集合类set中取出数据?

Java中Set集合怎样用for遍历?