集合
Collection
1.List和Set集合
集合添加的方法
add(Object obj)->往集合中添加一个元素
add(int index,Object obj)->往集合的指定位置添加一个元素
addAll(Collection c)->添加某个集合中所有的元素
集合的遍历
1.传统for循环遍历
2.增强for循环遍历
格式:
for(集合/数组中的数据类型 变量:要遍历的集合/数组对象){
syso(变量);
}
3.迭代器遍历
iterator():该方法会将集合中所有的元素保存到迭代器对象中,所以迭代器Iterator也需要泛型成和集合一样的数据类型
迭代器遍历通常有三个步骤
(1)问:hashNext()->返回boolean类型的值,返回true,则表示有下一个元素
(2)取:next()->取出迭代器中的值
(3)删:remove()->此处的删除不是必要操作
集合的删除
remove()方法
boolean remove(Object obj):删除指定的元素,注意,该方法只会删除通过equals比较为true的第一次出现的内容
Object remove(int index):删除指定索引位置元素,该方法会将删除的元素返回
总结:
(1)集合中的remove()方法,可以在传统for循环中进行元素删除,但不能在增强for循环中删除(会抛出异常,因为底层是通过迭代器来删除的,参考迭代器的遍历和删除)
(2)当我们使用传统for循并且使用remove(int index)根据索引位置删除元素的时候,需要注意,删除一个元素,集合的长度会发生变化,会影响集合的遍历次数,同时,也会影响删除元素后面元素的索引(后面元素的索引值会减小)
迭代器的remove()方法:重点->经常考的
Collections
Collections:操作集合的工具类
Collections.sort():对集合进行从小到大的排序
Arrays:操作数组的工具类
Arrays.sort():对数组进行从小到大的排序
如何比较两个对象的大小
(1)在要比较的对象类中实现Comparble接口
(2)重写comparTo()方法
(3)在compareTo()方法中定义比较规则
泛型<>
什么是泛型
泛型又叫做参数化类型,就是将类中的属性,方法的返回值,参数的数据类型交给使用者来决定,使用者在创建对象的时候,通过<指定具体类型>,这个时候,该对象的属性或者方法返回值,参数类型,都是对应的使用者设置的类型
标签:遍历,迭代,删除,元素,Day20,remove,集合
From: https://www.cnblogs.com/ayuuuuu/p/16769079.html