- List与数组之间互相转换
1、数组转成List
String[] arr ={"Nothing","gonna","change","my","love","for","you","WestLife"};
//方法一:数组转成List
//虽然Arrays.asList(arr)是不能改变的数组,但是可以创建一个新的List,将它作为参数传入
List<String> list = new ArrayList<>(Arrays.asList(arr));
//方法二:数组转成List
//利用for循环或者增强for
List<String> list1 = new ArrayList<>();
for(String s: arr){
list1.add(s);
}
//2、List转成数组
//List转成数组
Object[] array = list.toArray();
- Set与数组之间转换
//1、数组转成Set
//Arrays.asList(arr)返回的是一个list,但是list可以作为Set构造方法的参数
Set<String> set2 = new HashSet<>(Arrays.asList(arr));//arr承接上面的arr
set2.remove("WestLife");
Object[] objects = set2.toArray();
//2、Set转成数组
Object[] objects = set2.toArray();//与List一样
- List(ArrayList,LinkedList)和Set(hashSet,TreeSet)可以直接通过构造方法转换
//构造方法中都可以直接将Collection类型的集合作为参数传入
Set<String> set = new TreeSet<>(list);//list承接上面的list
List<String> list2 = new LinkedList<>(set);
- Map与List,Set之间的转换
Map<Integer,String> map = new HashMap<>();
map.put(1,"a");
map.put(7,"t");
map.put(4,"y");
map.put(3,"w");
Set<Integer> set1 = map.keySet();
Set<String> set3 = new HashSet<>(map.values());
(1) map的keySet()方法可以将key转成Set集合,如果想将map的key转成List,可以通过Set转成List(见上)
(2) map的values()方法返回的是一个Collection类型,这个可以转成成任意List或Set;