集合的概念
集合,或者叫容器,是一个包含多个元素的对象;集合可以对数据进行存储,检索,操作;集合类存放于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()]);
注意:数组的类型要和集合存储的类型一致