Java数据存储:集合框架和泛型

it2026-03-27  6

集合接口Collection (List ,Set),Map 面试题:java 三大集合接口有哪些?? ①List Set MapCollection 存放一组 无序,不唯一的对象集合List 存在一组有序(插入的顺序),不唯一的对象集合Set 存放一组无序,唯一的对象集合Map 存放一组键值对集合(key ,value) Key 唯一 value 不唯一 集合实现类 List ①面试题:ArrayList /LinkedList 异同

存储结构:ArrayList 是基于动态数组,LinkedList 基于链表

ArrayList 遍历,查询的效率高

LinkedList 插入和删除效率高 ②ArrayList

实现的是可变的数组

遍历和随机访问的效率高

常用方法 Collection 方法

add(Object obj) 添加remove(Object obj) 删除contains(Object obj) 是否包含clear() 清空isEmpty() 判断是否为空iterator() 迭代器toArray() 转换为数组size() 长度 数组长度.length属性

ArrayList 特有的方法

add(int indec, Object obj) 添加remove(int index) 删除get(int index) 获取

LinkedList 链表的存储方式 插入和删除的效率高 常用特有方法

addFirst(Object obj)addLast(Object obj) 注意事项:如果在此方法之后继续添加,那么最后一条就变成了最新添加的removeFirst()removeLast()getFirst()getLast() HashCode 每个对象都有一个hashCode同一个hashCode 可以对应不同的对象不同的HashCode 肯定是不同的对象不同的对象也可能是同一个hashCode Set -HashSet 面试题:去重原理 ①先判断hashCode() 是否相同,不同添加 ②HashCoce() 相同的情况,判断equals() Map- HashMap 常用方法 ①put(key ,value); ②get(key) ③keyset() ④values() ⑤entrySet() ⑥size() ⑦containsKey() - 返回Map.Entry (2)Map.Entry (键值对象) 泛型 (1)规定集合的类型 HashSet<数据类型> lists = new HashSet<数据类型>(); ArrayList<数据类型> lists = new ArrayList<数据类型>(); LinkedList<数据类型> lists = new LinkedList<数据类型>(); HashMap<数据类型 ,数据类型> lists = new HashMap<数据类型 ,数据类型>(); 集合的四种遍历方法 普通for – HashSet不能用这个方法

for (int i = 0; i < lists.size(); i++)

2. 增强型的for for (Object obj :lists) 3. 数组 Object[] news = newsList.toArray(); for (int i = 0; i < news.length; i++) 4. 迭代器 Iterator iterator = newsList.iterator(); while (iterator.hasNext()) System.out.println(iterator.next());
最新回复(0)