Java中Set、Map和List的区别

Java中Set、Map和List的区别

在写项目的时候遇到了去重,用到了Set集合的HashSet,查阅了资料

java集合主要分为三种类型:

  • Set集合
  • List集合
  • Map集合
    1.Set(集合)
    Set存入的每个值必须是唯一 的,Set集合主要有:
    1 >HashSet:按照哈希算法获取集合中的对象,速度较快,去掉重复值
    2>Treeset:实现SortedSet接口,能够对集合进行排序并去掉查重

2.List(列表):特征主要是元素以线性方式存储,可以存放重复对象。
检索List集合中所有元素的方法(由index指定索引位置下标0开始):
1)for循环和get()方法
for(int i=0;i<list.size();i++){ … }
2)迭代器(Iterator):
Iterator it = list.iterator();
while(it.hashNext()){ … }
1>List:保证维护元素特定的顺序。List可生成ListIterator,可以从中间插入和移除元素。
2>ArrayList:由数组实现的List,允许随机访问,从前向后遍历ArrayList(从中间插入和移除速度慢)
3>LinkedList:对顺序访问进行优化,中间插入和删除开销不大,随机访问速度慢。它有addFirst()、addLast()、getFirst()、getLast()、removeFirst()和removeLast()方法,使得LinkedList可以当作堆栈、队列和双向队列使用。
3. Map(映射)
Map是一种键值对的方式的集合
Object put(Object key,Object value):向集合中加入元素
Object remove(Object key):删除与key相关的元素
Object get(Object key):获得与关键字key相关的值。
void putAll(Map t):将来自特定映射的所有元素加入该映射
void clear():从映射中删除所有映射

总结

如果涉及到堆栈,队列操作,应考虑List,对于快速插入、删除元素应使用LinkedList,如果需要快速随机访问元素,该使用ArrayList。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值