集合
2020-08-04 14:08:22 0 举报
AI智能生成
java集合
作者其他创作
大纲/内容
Iterator迭代器
描述
Iterator接口是用来遍历集合取出集合里数据的适用于所有的集合类型
使用过程
代码流程
Collection<String> coll = new ArrayList<String>(); coll.add(\"abc1\"); coll.add(\"abc2\"); coll.add(\"abc3\"); coll.add(\"abc4\
Iterator并发修改异常
在遍历集合的时候修改了集合里面的内容或者长度就会发生迭代器修改并发异常
在集合遍历的时候是不能修改集合里的数据的或者添加的
判断集合元素唯一的原理
ArrayList的contains方法判断元素是否重复原理
3HashSet的add/contains等方法判断元素是否重复原理
JDK5的新特性
方法的可变参数
在方法中的参数数据类型是一样的时候我们在调用方法的时候可以传入任意数量的参数个数这就是方法的可变参数可变参数它是一个数组格式的
定义格式
数据类型...变量名 如:public void 方法名(int ...a){}
可变参数的注意事项
Collection类
这个是用来操控集合的类叫做集合的操作类,它的方法都是静态的可以用它的方法来操控集合直接类目.方法来使用
常用方法
Collections.sort()
Collections.shuffle()方法
Collection接口
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。
创建方法
要用这个接口就要用多态的形式去使用: Collection<引用数据类型> 变量名 = new 它的实现类ArrayList<>();
常用的方法
boolean remove(Object o)移除集合中指定的元素返回boolean类型
集合
List接口集合
List接口描述
List接口的特点
List接口的方法
List接口特有的方法:有索引的方法都是List的特有的方法它的子类都有
ArrayList集合
ArrayList集合的描述
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。
ArrayList集合的创建
AarryList<引用数据类型> array = new Arrylist<引用数据类型>();
ArrayList 集合中的方法(常用方法):
size():返回集合的长度,也就是集合存储元素的个数
remove(int 索引):\t删除指定索引上的集合元素.
clear():删除集合里的所有元素 只删除元素 不会影响集合
ArrayList自身的特点
ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
LinkedList集合
LinkedList自身特点
LinkedList集合数据存储的结构是链表结构。查询慢,增删快。实际开发中对一个集合元素的添加与删除经常涉及到首尾操作
addFirst(E)添加到链表的开头也就元素的前面
addLast(E) 添加到链表的结尾
E removeFirst() 移除并返回链表的开头
E removeLast() 移除并返回链表的结尾
E getFirst() 获取链表的开头
E getLast() 获取链表的结尾
Set接口
Set接口描述
Set接口它是存储不重复元素的一个接口,它里面的集合,所存储的元素就是不重复的。
查阅Set集合的API介绍,通过元素的equals方法,来判断是否为重复元素
Set接口的特点
HashSet集合
HashSet集合的描述
HashSet集合的使用
HashSet集合的自身特点
哈希表
它是链表数组结合体
对象的哈希值
String的哈希值
如果你给的数据是一样的它的哈希值也会是一样的这样
存储过程
HashSet集合的特有方法
存入对象的equals这个方法就可以判断HashSet存储的元素是否重复
自定义类要存入HashSet集合里要重写两个方法工具会重写
hashCode()
equals()
LinkedHashSe类
描述描述
我们知道HashSet保证元素唯一,可是元素存放进去是没有顺序的,那么我们要保证有序,怎么办呢?在HashSet下面有一个子类LinkedHashSet,它是链表和哈希表组合的一个数据存储结构。
创建方式
Set<String> set = new LinkedHashSet<String>();
泛型
泛型的描述
由于集合中什么类型都可以存进去在取出来的时候容易发生转换异常,所以必须明确集合中的元素类型这个就称为:泛型。所以创建集合的时候一定要给类型
泛型类
类的前面有<E>的类就是泛型类 ArrayList<E> 类就个泛型类 E:代表就传入什么数据E就是什么类型的数据
泛型的好处
解决了程序的安全性避免程序中的转换异常
泛型的通配符
泛型的限制
? extends 父类 ?:用来限制父类的,传过来的值可以是父类也可以是子类 不能传它的父类
? sups 类 这个是限制子类的,传过来的值可以是它自己这类也可以是它的父类 不能传它的子类了
Map接口
Map接口的描述
Map接口中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。
map接口和Collection接口的区别:Collection中的集合称为单列集合,Map中的集合称为双列集合。
Map注意事项
Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。
Map接口的常用方法
V get(K)方法
V remove(K)方法
Map接口的遍历方法
方法1:keySet()方法
描述:利用键获取值
方法2: entrySet()方法
描述:entrySet()这个方法返回的是Map接口里的一个内部接口Entry接口就是他们的映射对象可以理解为结婚证
HashMap集合
HashMap集合描述
使用方式
使用方式和HashSet集合是一样的这里我就不在写了
LinkedHashMap集合
它继承于HashMap集合 这个集合它可以保证顺序
Hashtable集合
自由主题
分支主题
0 条评论
回复 删除
下一页