一、List
ArrayList
1.使用List时,最好初始化容量。
ArrayList的默认容量为10,每次扩容增0.5倍,假如要放置100个元素,需要多次扩容。
List list=new ArrayList<>(100);
2.数组转List,使用Arrays.asList。
String[] stryArray=new String[]{"str1","str2","str3"};
List list=Arrays.asList(strArray);
注意,通过这种方式转换的List,不可以使用add()方法。如果使用的话,会报错:java.lang.UnsupportedOperationException
可以使用以下方式在新的List中添加数据:
String[] stryArray=new String[]{"str1","str2","str3"};
List list=Arrays.asList(strArray);
List strList=new ArrayList<>(list);
strList.add("test");
3.List转数组,使用toArray()方法。
List list = new ArrayList(2);
list.add("guan");
list.add("bao");
String[] array = new String[list.size()];
array = list.toArray(array);
4.判断集合个数是否为空
if (list!=null && list.size==0 ){
//...
}
LinkedList
1.在增删比较多的场景下,使用LinkedList。
返回空的List,不要返回null。
返回null,容易导致空指针异常。
可以使用Collections.emptyList(),表示的是空集合。
示例如下:
public List queryBillFiles(BillFiles billFiles) {
//以下是一个简单的数据库查询
List billFilesList=billFilesMapper.queryBillFiles(billFiles);
if(billFilesList==null) {
billFilesList= Collections.emptyList();
}
return billFilesList;
}
二、Set
HashSet
1.可以使用Set不重复的特性进行去重。