List集合浅谈

721 阅读2分钟

集合的概念

集合,或者叫容器,是一个包含多个元素的对象;集合可以对数据进行存储,检索,操作;集合类存放于java.util包中。而我们使用的一些集合都是实现的java.util.Collection 这个集合接口。 集合类型主要有3种:set(集)、list(列表)和map(映射),

List集合

Java 集合框架中最常使用的几种 List 实现类是 ArrayList,LinkedList 和 Vector。在各种 List 中,最好的做法是以 ArrayList 作为默认选择。 当插入、删除频繁时,使用 LinkedList,Vector 总是比 ArrayList 慢,所以要尽量避免使用它。List 是一个元素有序的、可以重复、可以为 null 的集合。

List实例化
 List list = new ArrayList(); 
List存储
//存储基本类型的值
List list = new ArrayList();
list.add("1");   => "1"
list.add(1);     => 1
list.add(1.12);  => 1.12
list.add(false); => false

//存储集合
List list1 = new ArrayList();
list1.addAll(list);

List像这样直接实例化使用所存储的类型是Object的,而为了可重用性、类型安全和效率一般都会使用泛型

List泛型使用
List<String> list = new ArrayList<String>();
list.add("123");

注意:这里声明的是一个String类型的List,就只能存储String类型的数据。

List替换
List list = new ArrayList();
list.add("1"); 
list.set(0, "2");  => "2" 

注意:第一个参数是替换的位置,第二个参数是替换的内容,注意:必须是已存在的数据才能替换,位置下标从0开始。

List插入
List<String> list = new ArrayList<String>();
list.add("1"); 
list.add(0, "2"); 
=> "2","1"

注意:第一个参数是插入的位置,第二个参数是插入的内容,注意:数据插入中间不能出现空白(不能越过不存在的数据)。

List倒序
List list = new ArrayList();
list.add(1);
list.add(2);
list => 1  2
Collections.reverse(list);
list => 2  1

注意:Collections.reverse(list);并不是一个新的集合,而是将原本的集合中的存储按照原本的顺序颠倒排序。

List排序
List list = new ArrayList();
list.add(2);
list.add(1);
list.add(3);
list => 2 1 3

Collections.sort(list);
list => 1 2 3

注意:Collections.sort(list);是按自然顺序排序,即升序排序,但是存储的所有数据类型要一直才能使用

List转换数组
List list1 = new ArrayList();
list1.add("1");
String[] arr = (String[])list1.toArray(new String[list1.size()]);

注意:数组的类型要和集合存储的类型一致