Collection
List
ArrayList
创建对象
List list = new ArrayList();
常用方法
方法 | 说明 |
---|
.add() | 向集合添加新的元素 |
.remove() | 括号填下标 删除括号下标的元素 |
.get() | 根据下标获取元素 |
LinkedList
创建对象
LinkedList list = new LinkedList();
常用方法
方法 | 说明 |
---|
.addFirst() | 在集合第一位添加元素 |
.addLast() | 在集合最后一位添加元素 |
.contains() | 检测集合中是否包含括号内的元素 返回值为boolean |
| |
.removeFirst() | 删除首位元素 |
.removerLast() | 删除末尾元素 |
| |
.getFirst() | 获取首位元素 |
.getLast() | 获取末尾元素 |
| |
.clear() | 清空集合中的数据元素 |
.isEmpty() | 判断是否是一个空集合 返回值为boolean |
遍历
List list = new ArrayList();
list.add(1);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
Collection 接口、List 接口、Set 接口、Map接口 的特点
Collection 接口存储一组不唯一,无序的对象 |
---|
List 接口存储一组不唯一,有序(插入顺序)的对象 |
Set 接口存储一组唯一,无序的对象 |
Map接口存储一组键值对象,提供key到value的映射 |
ArrayList和LinkedList区别
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高 | |
---|
LinkedList采用链表存储方式。插入、删除元素时效率比较高 | |
Set
HashSet
创建对象
Set set = new HashSet();
常用方法
方法 | 说明 |
---|
.add() | 向集合添加新的元素 |
.remove() | 括号填下标 删除括号下标的元素 |
.get() | 根据下标获取元素 |
TreeSet
创建对象
TreeSet set = new TreeSet();
常用方法
.addFirst() | 在集合第一位添加元素 |
---|
.addLast() | 在集合最后一位添加元素 |
.contains() | 检测集合中是否包含括号内的元素 返回值为boolean |
| |
.removeFirst() | 删除首位元素 |
.removerLast() | 删除末尾元素 |
| |
.getFirst() | 获取首位元素 |
.getLast() | 获取末尾元素 |
| |
.clear() | 清空集合中的数据元素 |
.isEmpty() | 判断是否是一个空集合 返回值为boolean |
遍历
Set set = new HashSet();
set.add(1);
set.add(2);
for (Object key: set) {
System.out.println(key);
}
Map
HashMap
创建对象
Map map = new HashMap();
常用方法
方法 | 说明 |
---|
.put(“键”,对象) | 添加数据 |
.keySet() | 输出键集合 |
.containsKey(对象/变量或键) | 判断括号内的数据是否存在 |
.values() | 返回值的集合 |
遍历
Map map = new HashMap();
map.put("鸟","飞鸟");
map.put("狗","舔狗");
Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
String key = (String) iterator.next();
String value = (String) map.get(key);
System.out.println(key+":"+value);
}
循环遍历
普通for循环
List list = new ArrayList();
list.add(1);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
增强for循环
list.forEach(System.out::println);
for(Object key:list){
System.out.println(key);
}
迭代器
Map map = new HashMap();
map.put("鸟","飞鸟");
map.put("狗","舔狗");
Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
String key = (String) iterator.next();
String value = (String) map.get(key);
System.out.println(key+":"+value);
}
泛型
特点: | 泛型集合 可以定义添加数据的类型 方便之处在于不需要强转 就可以直接获取数据 |
---|
语法: | |
List<Student> list = new ArrayList<>();
Student s = new Student("张三","男");
list.add(s);
System.out.println(list.get(0).getName());