Day20

集合

Collection
1.List和Set集合

集合添加的方法

add(Object obj)->往集合中添加一个元素
add(int index,Object obj)->往集合的指定位置添加一个元素
addAll(Collection c)->添加某个集合中所有的元素

集合的遍历

1.传统for循环遍历

2.增强for循环遍历

格式:
	for(集合/数组中的数据类型 变量:要遍历的集合/数组对象){
	syso(变量);
	}

image

3.迭代器遍历

iterator():该方法会将集合中所有的元素保存到迭代器对象中,所以迭代器Iterator也需要泛型成和集合一样的数据类型
迭代器遍历通常有三个步骤
(1)问:hashNext()->返回boolean类型的值,返回true,则表示有下一个元素
(2)取:next()->取出迭代器中的值
(3)删:remove()->此处的删除不是必要操作

image

集合的删除

remove()方法

boolean remove(Object obj):删除指定的元素,注意,该方法只会删除通过equals比较为true的第一次出现的内容
Object remove(int index):删除指定索引位置元素,该方法会将删除的元素返回
总结:
(1)集合中的remove()方法,可以在传统for循环中进行元素删除,但不能在增强for循环中删除(会抛出异常,因为底层是通过迭代器来删除的,参考迭代器的遍历和删除)
(2)当我们使用传统for循并且使用remove(int index)根据索引位置删除元素的时候,需要注意,删除一个元素,集合的长度会发生变化,会影响集合的遍历次数,同时,也会影响删除元素后面元素的索引(后面元素的索引值会减小)

迭代器的remove()方法:重点->经常考的

image

Collections

Collections:操作集合的工具类
Collections.sort():对集合进行从小到大的排序
Arrays:操作数组的工具类
Arrays.sort():对数组进行从小到大的排序

如何比较两个对象的大小

(1)在要比较的对象类中实现Comparble接口
(2)重写comparTo()方法
(3)在compareTo()方法中定义比较规则

image

泛型<>

什么是泛型

泛型又叫做参数化类型,就是将类中的属性,方法的返回值,参数的数据类型交给使用者来决定,使用者在创建对象的时候,通过<指定具体类型>,这个时候,该对象的属性或者方法返回值,参数类型,都是对应的使用者设置的类型
posted @ 2022-10-12 23:17  Ayiuuuuu  阅读(32)  评论(0)    收藏  举报