集合框架

集合框架

集合框架

java集合框架为我们提供了一套性能优良,使用方便的接口和类,他们都位于java.util包中

List

父类Collenction:接口储存一组不唯一、无序的对象

List接口:值不唯一,有序[插入顺序]

ArrayList

ArrayList:一组有序[值插入的顺序]并且可以重复的集合

储存方式:在堆里开辟了一段连续空间

语法:

不限定数据类型

List list = new ArrayList();

可以限定数据类型

List<String> list = new ArrayList<String>();

常用方法:

方法名称说明
boolean add()在列表末尾添加元素
void add(int index,Object o)指定下标添加元素
int size()放回元素个数
Object get(int index)返回指定索引的元素
boolean contains(Object o)判断是否有指定元素
boolean remmove(Object o)从列表中删除元素
boolean remmove(int index)指定下标删除

说明:当限定类型为Integer时,remove(下标)。

遍历

for

for (int i = 0; i < listIntRemove.size(); i++) {		System.out.println(listIntRemove.get(i));
}

foreach

for (int num : listIntRemove) {
	System.out.println(num);
}

Iterator

1、先将list对象转换为Iterator对象
Iterator<数据类型> it = list.iterator();
2、通过Iterator对象的hasNext方法判断是否有一个值
3 、通过Iterator对象的next方法取值

LinkedList

LinkedList特点:

  1. 采用链式存储规则,前一个会有一个指针指向下一个值的存储单位
  2. 适用于集合数据频繁修改
  3. 不适用频繁的读遍历操作集合

语法:

不限定数据类型

List arrayList = new LinkedList();

可以限定数据类型

List<String> arrayList = new LinkedList<String>();

常用方法:

方法名称说明
boolean add()在列表末尾添加元素
void add(int index,Object o)指定下标添加元素
int size()放回元素个数
Object get(int index)返回指定索引的元素
boolean contains(Object o)判断是否有指定元素
boolean remmove(Object o)从列表中删除元素
boolean remmove(int index)指定下标删除
Clear()清空元素

addFirst() 添加到第一个 addLast() 添加到最后一个

getFirst()得到第一个 getLast得到最后一个

遍历

for

for (int i = 0; i < listIntRemove.size(); i++) {		System.out.println(listIntRemove.get(i));
}

foreach

for (int num : listIntRemove) {
	System.out.println(num);
}

Iterator:

1、先将list对象转换为Iterator对象
Iterator<数据类型> it = list.iterator();
2、通过Iterator对象的hasNext方法判断是否有一个值
3 、通过Iterator对象的next方法取值

Vector

所有的操作跟ArrayList一样,存储方式,读写方式

区别ArrayList:Vector线程是安全的,ArrayList线程不安全

Set

父类Collenction:接口储存一组不唯一、无序的对象

Set接口:无序[不按照插入的顺序排序],并且不重复

1、操作:类似List
2、实现:
HashSet:存储方式类似数组,插入数据的是没有任何顺序
TreeSet:以树形结构图存储,实现了SortedSet接口
排序,默认从小到大的

3、小技巧:通过Set给List去重

Map:

1、存储方式:key:value
2、实现类:
HashMap:线程不安全,速度快

语法

语法:非泛型

Map list = new HashMap();

泛型

Map<String,String> list = new HashMap<String,String>();

可以限定数据类型

Hashtable:操作类似HashMap,线程安全
ConcurrentMap:操作类似HashMap,线程安全,
实现安全的方式比hashtable更优,针对线程安全部分代码做了优化
TreeMap:1、对key进行排序;2不能以null为key

3.常用方法

方法名说明
put(key,value)键-值,存储元素
get(key)指定键获取值
remove(key)根据键删除元素
size()返回元素个数
keySet()返回键的集合
values()返回值的集合
containsKey指定的键判断是否存在
isEmpty()判断是否非空
clear()清空所有映射关系

集合如果要限定数据类型,只能放引用数据类型

Collection:
1、是List和Set的父类
2、是interface
Collections:是操作集合的工具类

基本数据类型-引用

​ int—Integer
​ long—Long
​ double—Double
​ float----Float
​ char–Character

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值