Java Collection

Collection接口常用方法
①添加:

​ add(Object obj):只要是对象都可以添加

​ addAll(Collection c):添加另一个集合的元素

②删除:

​ clear():清空集合元素

​ remove(Object obj)删除某个元素对象

​ removeAll(Collection c):删除集合元素

③判断:

​ isEmpty():集合是否为空

​ contains(Object c):是否包含某个元素

​ contains(Collection c):是否包含某个集合

④获取:

​ size():获取集合大小
​ Iterator<E> iterator():获取迭代器对象,遍历集合

⑤其他:

​ Object[] toArray():集合转数组
​ retainAll(Collection c):两个集合交集操作
 

List

常用方法
增:add(Object obj)

删:remove(int index)或remove(Object obj)

改:set(int index, Object ele)

查:get(int index):传入一个,索引值得到值

插:add(int index, object ele)

长度:size()

遍历:
① Iterator迭代器方式
② 增强for循环
③ 普通的循环
 

Set

新建集合 HashSet<String> hashSet = new HashSet<String>();

添加元素 hashSet.add( );

删除元素 hashSet.remove( );

遍历操作

​ 1. 增强for for( type type : hashSet)

​ 2. 迭代器 Iterator<String> it = hashSet.iterator( );

判断 hashSet.contains( ); hashSet.isEmpty();
 

Map

HashMap

  • HashMap是非同步的,它不是线程安全的,如果没有适当的同步代码,就不能在多个线程之间共享。
  • HashMap允许一个空键和多个空值。
  • HashMap快。
  • 我们可以通过调用这段代码使HashMap同步:Map m = Collections.synchronizedMap(HashMap);
  • HashMap由Iterator遍历。
  • HashMap中的迭代器是fail-fast。
  • HashMap继承AbstractMap类。

Hashtable

  • Hashtable是同步的。它是线程安全的,可以与多个线程共享。

  • Hashtable不允许空键或空值。

  • Hashtable是一个遗留类。

  • Hashtable是缓慢的。

  • Hashtable是内部同步的,不能取消同步。

  • Hashtable由枚举器和迭代器遍历。

  • Hashtable中的枚举器不会fail-fast(快速失败)。

  • Hashtable继承Dictionary类。

为了在多线程环境下安全地使用 HashMap,可以采取以下几种方式:

  • 使用同步机制:可以使用线程安全的 Map 实现,如 ConcurrentHashMap,或者通过在访问 HashMap 时使用 synchronized 或其他锁机制来确保同一时间只有一个线程能够修改 HashMap。
  • 使用并发容器:可以使用线程安全的并发容器,如 ConcurrentMap 或 CopyOnWriteMap,它们提供了并发访问的能力,适用于读多写少的场景。
  • 使用线程封闭:可以将 HashMap 封闭在单个线程中,通过使用 ThreadLocal 或将 HashMap 作为局部变量在每个线程中进行操作,从而避免多线程访问导致的线程安全问题。
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值