Collection(集合):容器,用于存放对象(引用类型。基本类型需要自动装箱) 查看
List(列表):元素有序,元素可以重复 (有索引)。 通过元素的equals()方法判断是否重复。
Set(集):元素无序,不可重复 (没有索引)。 遍历只能用Iterator迭代器和增强for, 不能使用普通for遍历。 查看
ArrayList(数组列表): 查询快,增删慢。 查看
LinkedList(链表): 查询慢,增删快。查看
HashSet(哈希表): 查询快,增删慢。 (底层其实就是Map) 。 存放的引用类型需重写hashCode()和equals()方法。 查看
LinkedHashSet(哈希链表): 查询慢,增删快。 有序的,存放顺序和取出顺序一致。 查看
Demo.java(List特有的方法,和索引相关的方法):
package cn.xxx.demo; import java.util.ArrayList; import java.util.List; /* * List接口派系, 继承Collection接口 * 下面有很多实现类 * List接口特点: 有序,索引,可以重复元素 * 实现类, ArrayList, LinkedList * * List接口中的抽象方法,有一部分方法和他的父接口Collection是一样 * List接口的自己特有的方法, 带有索引的功能 */ public class Demo { public static void main(String[] args) { function_2(); } public static void function_2(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); Integer i = list.set(0, 5); // 根据索引修改,返回修改之前的元素。 System.out.println(i); System.out.println(list); } public static void function_1(){ List<Double> list = new ArrayList<Double>(); list.add(1.1); list.add(1.2); list.add(1.3); list.add(1.4); Double d = list.remove(0); // 根据索引删除元素,返回被删除的元素。 System.out.println(d); System.out.println(list); } public static void function(){ List<String> list = new ArrayList<String>(); list.add("abc1"); list.add("abc2"); list.add("abc3"); System.out.println(list); list.add(1, "haha"); // 在指定索引上添加 System.out.println(list); } }