这节课程比较长,分了一个星期才上完
集合有List、Set、Map,集合就像一种容器,可以把多个对象的引用,但习惯上都称对象“丢进”该容器中。 1、 List代表有序、可重复的集合 2、 Set代表无序、不可重复的集合,只能存储一个 3、 Map则代表具有映射关系(键和值)的集合,键是不可重复的集合和数组的区别: 1、 数组的长度必须在初始化时指定,而集合是在添加元素时会自动扩展长度,可以理解为动态的 2、 数组可以保存基本类型,也可以保存对象,而集合只可以保存对象的引用类型,基本类型的变量要转成对应的包装类,才可以放进集合泛型: 1、获取元素时候,不需要在强转 2、根据1就可以避免转换的失败List和Set都是Collection的子接口,所以拥有的方法基本一致 迭代器Iterator:主要用来遍历集合的元素,可以理解为for循环遍历数组里面的元素 1、 hasNext()判断下个元素是否存在,返回一个boolen类型 2、 next()返回迭代的下一个元素遇到一些不理解的地方:百度得到答案ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。sublist使用注意事项: 它返回原来list的从[fromIndex,toIndex)之间这一部分的视图,之所以说是视图,是 因为实际上,返回的list是靠原来的list支持的。所以,你对原来的list和返回的list 做的“非结构性修改”,都会影响到彼此对方。所谓的“非结构性修改”,是指不涉及到list 的大小改变的修改。相反,结构性修改,指改变了list大小的修改。将list集合中部分元素替换成指定元素: 用list.set(index, element);方法,将下标为index的元素替换为element复制代码