转换其实很简单,SET集合里面的元素是不重复的赚LIST是比较容易的。
比如:
一个set集合A 要转换成一个LIST集合。
那么可以这么写
List list = new ArrayList(A);。
这样就能转换完成
★ 数组转Collection使用Apache Jakarta Commons Collections:import org.apache.commons.collections.CollectionUtils; String[] strArray = {"aaa", "bbb", "ccc"}; List strList = new ArrayList(); Set strSet = new HashSet(); CollectionUtils.addAll(strList, strArray); CollectionUtils.addAll(strSet, strArray); CollectionUtils.addAll()方法的实现很简单,只是循环使用了Collection的add()方法而已。如果只是想将数组转换成List,可以用JDK中的java.util.Arrays类:import java.util.Arrays; String[] strArray = {"aaa", "bbb", "ccc"}; List strList = Arrays.asList(strArray); 不过Arrays.asList()方法返回的List不能add对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList。
map.keySet()
这个方法取出的key在map中是有映射的,即也是地址调用。
所以你想光使用key不改变map,最好复制一下key对象。
Set 有键和值 一个list只能取键或值。
import java.util.ArrayList;。
import java.util.HashSet;。
public class Test {。
public static void main(String[] args) {。
baiSet<String> set = new HashSet<String>(); //生成Set。
set.add("apple"); //set添加数据。
List<String> list = new ArrayList<String>();//生成List。
Iterator<String> it = set.iterator(); //遍历Set。
while(it.hasNext()){。
list.add(it.next().toString()); //Set转化List。
Iterator<String> it2 = list.iterator(); //遍历List。
while(it2.hasNext()){。
System.out.println(it2.next()); //输出List。
扩展资料:
在列表中,数据项的顺序是确定的,也可以存在多个相同的数据项。列表支持的操作包括查找项目并找到其位置(若存在),将项目从列表中删除,在特定位置插入项目等。通常的队列,或称FIFO即是一个列表,该列表只能在一端添加项目,而在另一端删除项目。
而栈,或LIFO则只能在同一端添加或删除项目。不管是队列还是栈,集合中项目的顺序都应当是一定的,因此这两种情况只是列表的特例。其它列表支持的操作包括排序,再一次说明了其中顺序的重要性。
参考资料来源:百度百科-集合
import java.util.HashSet;import java.util.Set;。
public class tes {。
public static void main(String[] args) {。
//set集合,元素是不重复的。通过equal判断是否相等。
//如果是自定义的对象,需要重写equal和hashcode方法。
Set set = new HashSet();。
set.add("sina");。
set.add("baidu");。
set.add("baidu");。
System.out.println(set.toString());。
set.remove("baidu");。
System.out.println(set.toString());。
======
结果:
[baidu, sina]
[sina]