ArrayList
java.util.ArrayList
特点
有序 有索引 元素可重复
底层数据结构是数组
查询快 增删慢
构造方法
public ArrayList() 构造一个初始容量为10的空列表
public ArrayList(int initialCapacity) 创建一个指定初始容量的列表
public ArrayList(Collection<? extends E> c) 创建一个ArrayList 存储Collection<? extends E> c集合中的元素
LinkedList
java.util.LinkedList
特点
有序 有索引 元素可重复
底层数据结构是链表
查询慢 增删快
特有方法
- public void addFirst(E e):将指定元素插入此列表的开头。
- public void addLast(E e):将指定元素添加到此列表的结尾。
- public E getFirst():返回此列表的第一个元素。
- public E getLast():返回此列表的最后一个元素。
- public E removeFirst():移除并返回此列表的第一个元素。
- public E removeLast():移除并返回此列表的最后一个元素。
- public E pop():从此列表所表示的堆栈处弹出一个元素。
- public void push(E e):将元素推入此列表所表示的堆栈。(压栈)
Collections
java.util.Collections 集合工具类
构造方法
私有 所有方法静态
public static void sort(List list,Comparator c) 传入比较器 指定比较规则
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
匿名内部类
作用:临时创建一个类子类对象的快捷方式
格式
new 父类/接口(){
重写方法
}
Comparator<Integer> c = new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1; //降序
}
};
方法
public static void shuffle(List list) 打乱集合中元素的顺序
public static void sort(List list) 对集合中元素进行排序 自然排序 集合中的元素 必须实现自然排序接口 Comparable 重写compareTo方法
Collections.sort(list);升序
Collections.shuffle(list);打乱
Set
java.util.Set
特点
元素唯一
方法
方法和Collection一致
常用实现类
TreeSet
排序 唯一
java.util.TreeSet
构造方法
public TreeSet() 空参构造
集合中的元素必须实现自然排序接口Comparable接口 重写CompareTo方法
如果CompareTo方法 返回值为0 说明两个元素相同 不添加到集合
public TreeSet(Comparator c) 带参构造
需要传入一个比较器指定比较规则 如果传入比较器 自然排序不生效
此时 Set集合中的元素可以不实现Comparable接口
如果重写的compare方法 返回0 说明两个元素相同 不添加到集合
TreeSet集合 如何保证元素唯一
1.如果实现Comparable接口 compareTo方法 返回0 说明元素相同 添加失败
2.如果使用比较器 compare方法 返回0 说明元素相同 添加失败
HashSet
无序 唯一
java.util.HashSet
存储自定义类型 如果想保证元素唯一 必须重写hashCode和equals方法
先比较对象的hashCode
不同 添加到集合
相同 继续比较equals
不同 添加到集合
相同 不添加
LinkedHashSet
有序 唯一
2.都需要熟记
3.充实开心
4.3人打Pook,拿到的拍是拍好顺序的.