闲来无事,看了一天java源码,遇到一个问题,list和set和数组之间相互转换,有没有简单的方法,特地总结了一下,假如有错误,请在博客下面留言.
package cn.yh.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.Test;
/*
*总结:
list和set之间相互转换,直接把对方作为方法形参传递即可
list和set转换为数组,使用toArray()方法
数组转换为list和set集合,使用Arrays.asList(),可以转换为list即可.然后再转化为set集合
即:数组转换为set集合时,先转换为list即可,然后把list传递给set集合即可.
*
*/
public class Demo1 {
String str[] = { "1", "2", "3" };
@Test
public void toList() {
/**
* 数组转换为list,使用工具类Arrays.asList(数组)即可
*/
List<String> list = new ArrayList<>();
// 数组转换为list
list = Arrays.asList(str);
for (String string : list) {
System.out.println(string);
}
}
@Test
public void toSet() {
/**
* 数组转换为set
* 1.数组先转换为list
* 2.再把list以形参形式传递给set
*/
List<String> list = Arrays.asList(str);
Set<String> set = new HashSet<>(list);
for (String string : set) {
System.out.println(string);
}
}
@Test
public void listToSet() {
/**
* list集合转换为set集合
* 直接把list作为形参传递给set集合即可.
*/
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Set<String> set = new HashSet<>(list);
for (String string : set) {
System.out.println(string);
}
}
@Test
public void setToList() {
/**
* set集合转换为list集合
* 直接把set作为形参传递给list集合即可.
*/
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
List<String> list = new ArrayList<>(set);
for (String string : list) {
System.out.println(string);
}
}
@Test
public void setToarray() {
/**
* set集合转换为数组:toArray();方法
*/
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
Object[] array = set.toArray();
for (Object object : array) {
System.out.println(object);
}
}
@Test
public void listToarray() {
/**
* list集合转换为数组:toArray();方法
*/
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Object[] array = list.toArray();
for (Object object : array) {
System.out.println(object);
}
}
}