javaSE--八、集合

https://blog.51cto.com/9241485/2056649

https://www.jianshu.com/p/cc71a285879f

一、回顾数组

  • 容量固定
  • 类型一致
  • 顺序
  • 不唯一

二、集合框架

1.Collection

  • 容量不固定(具有伸缩性)
  • 一致 Object    泛型
  • 无序
  • 不唯一

1)List  Collection的子接口

  • 容量不固定(具有伸缩性)
  • 一致 Object   泛型
  • 有序
  • 不唯一

——实现类

(1)ArrayList  类数组集合  Object  操作效率较高 线程不安全

  • add(要添加的元素);  新增元素到集合存储空间中
  • add(下标位置,要添加的元素 ); 插入式新增
  • addAll(集合); 将参数中集合的所有数据全部批量新增到目标集合中
  • addAll(下标位置,要出入的集合);
  • get(下标);  根据下标获取集合中的对应元素
  • set(下标位置,替换的新元素); 修改目标位置的元素
  • remove(下标/对象)删除集合中的一个元素
  • removeAll(集合); 删除两个集合中一致的所有元素
  • 清空集合  clear();
  • size();  返回集合现有的元素个数

(2)LinkedList 链表集合

该集合存储的原理决定了 它非常适合处理频繁插入 和 删除的操作

该实现类拥有特殊的方法

  • addFirst(元素);
  • addLast(元素);
  • removeFirst();
  • removeLast();
  • getFirst();
  • getLast();

(3)Vector  类数组集合  操作效率较低 线程安全

2)Set Collection的子接口  可以被  Map接口取代

  • 容量不固定(具有伸缩性)
  • 一致 Object   泛型
  • 无序
  • 唯一

——实现类

  • HashSet  
  • TreeSet

2.Map接口  键值对集合接口

——实现类

1)HashMap  必须掌握

  • put(键,值);  将一组键值对存放到键值对集合中  如果键不存在 产生新增效果 如果键存在 进行修改值操作
  • keySet();  用于获取键值对集合中的键集合 该集合是Set集合
  • values();  用于获取键值对集合中的值集合  该集合是Collection
  • containsKey(键); 在键值对集合中查找目标键是否已经存在 返回布尔值
  • get(键);  以键取值
  • remove(键);  根据键删除键值对  返回被删除的值   如果返回null代表没有找要删除的键值对

键值对集合的遍历

a)迭代器

创建  Iterator<泛型>  it=集合.iterator(); 不能使用new关键字实例化迭代对象 必须选择集合来生成 生成的迭代器对象只服务于该集合

判断   迭代器对象.hasNext(); 返回布尔

使用  迭代器对象.next();

b)foreach循环

     for(迭代变量类型 名称   :   集合或数组){

         //循环过程中不得进行任何影响集合或数组结构的操作

         //增 删 和对对象地址的修改

     }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值