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

java中array list set之间的转换与注意点

2018-03-27 19:32 429 查看
一、array --> list
/**
* list set array之间的转换
*
* @author LZJ
* @create 2018-03-27 19:02
**/
public class ListSetArrayConvert {
public static void main(String[] args){
String[] strArray = new String[]{"Tom", "Bob", "Jane"};
List<String> arrayToList = Arrays.asList(strArray);
System.out.println(arrayToList);
}
}
结果:



注意:
    使用Arrays.asList()得到的list不能再进行add或者remove等操作,因为返回的是返回一个由指定数组决定的固定size的列表。
如:
/**
* list set array之间的转换
*
* @author LZJ
* @create 2018-03-27 19:02
**/
public class ListSetArrayConvert {
public static void main(String[] args){
String[] strArray = new String[]{"Tom", "Bob", "Jane"};
List<String> arrayToList = Arrays.asList(strArray);
arrayToList.add("lucy");
System.out.println(arrayToList);
}
}
结果:



如果想要进行add remove等操作的话,只能把里面的数据放入其他的正儿八经的list集合里,然后再操作。
二、array --> set
先转换为list,,再由list转换为set:
String[] strArray = new String[]{"Tom", "Bob", "Jane"};
Set arrayToSet = new HashSet(Arrays.asList(strArray));
System.out.println(arrayToSet);
arrayToSet.add("lucy");
arrayToSet.remove("Jane");
System.out.println(arrayToSet);
结果:
   


三、list --> array (很少用,没意义)   
案例:
List<String> strList = new ArrayList();
strList.add("TOM");
strList.add("Bob");
strList.add("Jane");
System.out.println(strList);

Object[] objects = strList.toArray();
System.out.println(objects.length);
结果:
四、list --> set (常用)
有元素去重的好处
案例:
List<String> strList = new ArrayList();
strList.add("TOM");
strList.add("Bob");
strList.add("Jane");
strList.add("TOM");
strList.add("Bob");
System.out.println(strList);

Set listToSet = new HashSet(strList);
System.out.println(listToSet);
结果:
五、set --> array (和list转array一样,没意义)
List<String> strList = new ArrayList();
strList.add("TOM");
strList.add("Bob");
strList.add("Jane");
strList.add("TOM");
strList.add("Bob");
System.out.println(strList);

Set listToSet = new HashSet(strList);
System.out.println(listToSet.toArray());
结果:
 
六、set --> list
Set<String> strSet = new HashSet<>();
strSet.add("Tom");
strSet.add("Lucy");
strSet.add("Bob");
System.out.print
4000
ln(strSet);

List setToList = new ArrayList(strSet);
System.out.println(setToList);
结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: