集合框架与泛型

1.集合接口Collection (List ,Set),Map
(1)面试题:java 三大集合接口有哪些??
①List Set Map
(2)Collection
存放一组 无序,不唯一的对象集合
(3)List
存在一组有序(插入的顺序),不唯一的对象集合
(4)Set
存放一组无序,唯一的对象集合
(5)Map
存放一组键值对集合(key ,value)
Key 唯一 value 不唯一
2.集合实现类
(1)List
①面试题:ArrayList /LinkedList 异同
1)存储结构:ArrayList 是基于动态数组,LinkedList 基于链表
2)ArrayList 遍历,查询的效率高
3)LinkedList 插入和删除效率高
②ArrayList
1)实现的是可变的数组
2)遍历和随机访问的效率高
3)常用方法
a.Collection 方法
a)add(Object obj) 添加
b)remove(Object obj) 删除
c)Contains(Object obj) 是否包含
d)clear() 清空
e)isEmpty() 判断是否为空
f)iterator() 迭代器
g)toArray() 转换为数组
h)size() 长度
i.数组长度.length属性
b.ArrayList 特有的方法
a)add(int index, Object obj) 添加
b)remove(int index) 删除
c)get(int index) 获取
③LinkedList
1)链表的存储方式
2)插入和删除的效率高
3)常用特有方法
a.addFirst(Object obj)
b.addLast(Object obj)
注意事项:如果在此方法之后继续添加,那么最后一条就变成了最新添加的
c.removeFirst()
d.removeLast()
e.getFirst()
f.getLast()
3.HashCode
(1)每个对象都有一个hashCode
(2)同一个hashCode 可以对应不同的对象
(3)不同的HashCode 肯定是不同的对象
(4)不同的对象也可能是同一个hashCode
4.Set -HashSet
(1)面试题:去重原理
①先判断hashCode() 是否相同,不同添加
②HashCode() 相同的情况,判断equals()
5.集合的四种遍历方法
(1)普通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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值