Java集合和底层源码解析

集合
对象的容器,实现了对对象常用的操作

和数组的区别

数组长度固定,集合长度不固定

数组可以存储基本类型和引用类型,集合只能存储引用类型

位置

java.util.*;

Collection体系

Collection 父接口

特点:代表一组任意类型的对象,无序、无下标、不能重复。

创建集合 Collection collection = new ArrayList();

常用方法

添加元素 collection.add();

删除元素

collection.remove();

collection.clear();

遍历元素(重点)

使用增强for(因为无下标)

for(Object object : collection){ }

使用迭代器

//haNext(); 有没有下一个元素 //next(); 获取下一个元素 //remove(); 删除当前元素 Iterator it = collection.iterator(); while(it.hasNext()){ String object = (String)it.next(); //强转 // 可以使用it.remove(); 进行移除元素 // collection.remove(); 不能用collection其他方法 会报并发修改异常 }

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

List 子接口

特点:有序、有下标、元素可重复

创建集合对象 List list = new ArrayList<>( );

常用方法

添加元素 list.add( ); 会对基本类型进行自动装箱

删除元素 可以用索引 list.remove(0)

当删除数字与索引矛盾时 对数字强转

list.remove((Object) 10) 或 list.remove(new Integer(10))

遍历

使用for遍历

for(int i = 0; i < lise.size(); i++){ sout(list.get(i)); }

使用增强for

for(Object list: collection){ }

使用迭代器

Iterator it = collection.iterator(); while(it.hasNext()){ String object = (String)it.next(); //强转 // 可以使用it.remove(); 进行移除元素 // collection.remove(); 不能用collection其他方法 会报并发修改异常 }

使用列表迭代器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxzjs.html