《2022年2022年集合框架总结 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年集合框架总结 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、http:/ 集合框架总结一、集合及特性1、集合:一种存储结构,可以存储一组任意类型任意个数的数据2、特性:1)存储无限制2)某些集合中的数据可保持连续3)可存储Object 类型,因此取出也是Object 类型,易引发异常3、算法类: Collections 提供对集合进行排序、反转等操作4、Collection 集合接口:可存储一组无序、可重复的数据5、List 集合接口:继承自Collection 集合接口,存储一组有序、可重复的数据a、可重复性:指集合中可存储相同数据b、有序性:集合可以通过下标进行访问,且下标是永远连续的6、Set 集合接口:继承自Collection 集合接口,存储
2、一组无序、不可重复的数据7、ArrayList 和 LinkedList 的异同点1) 相同点:两者均实现自List 接口,基本操作完全相同2) 不同点a、LinkedList 提供了关于第一个元素和最后一个元素的6 个独立操作方法(添加、取值和删除 ) b、在内存中存储时,ArrayList 是顺序结构的,因此查询快;LinkedList 是链表结构的,因此增删快8、Map 集合接口:继承自Dictionary 接口,存储一组键值对数据,无序的(没下标),其中键不可以重复,但值可以重复更适用于集合中存储的是自定义的类,但有需要根据类的某个属性进行查找,可将该类属性作为 key,对象作为val
3、ue,查找更加方便9、Hashtable 和 HashMap 的区别1) Hashtable 继承 Dictionary 类, HashMap 实现 Map 接口2) Hashtable 线程安全, HashMap 线程非安全3) Hashtable 不允许 null 值, HashMap 允许 null 值二、遍历集合1、使用 for 循环操作下标,该循环主要终于有序集合for(int i=0;i 集合对象 .size();i+) System.out.println( 集合对象 .get(i); 2、使用迭代器遍历任意集合(有序、无序均可) 1)得到集合对象的迭代器Iterator ite
4、rator=set.iterator(); 2)遍历迭代器while(iterator.hasNext() System.out.println(iterator.next(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - http:/ 3、使用 foreach 循环遍历任意集合或数组三、泛型集合1、定义:集合的升级版,定义集合时就说明该集合可以存放的数据的类型,从而集合操作过程中无需进行类型的转换2、语法:集合 对象 =n
5、ew 集合 (); 3、JDK自 1.5 之后,建议使用泛型集合取代之前的集合四、注意事项1、使用add(插入下标 ,插入数据 )在指定下标处插入数据时,插入下标的值不能等于或超过插入后元素的个数2、如果不是泛型集合,集合中取出的元素均为Object 类型,赋值时可能需要强壮五:集合的面试问题总结1、 数组和集合的区别?答:数组存储一组固定长度、相同类型的值集合存储任意类型、任意长度的值2、 集合框架结构图?答:3、 Collection、Set、List 和 Map 的区别是什么?答: Collection 存储一组无序、可重复的数据Set存储一组无序、不可重复的数据List存储一组有序、可
6、以重复的数据Map 存储无序数据,key 不可重复, value 可以重复4、 List 接口的常用方法有哪些?答: add、remove、get、set、clear、contains 等5、 ArrayList 和 LinkedList 的区别是什么?答: ArrayList 是顺序结构存储,因此遍历和查找速度较快LinkedList 是链表结构,提供关于首位和末位元素的操作,增删速度较快6、 Vector 和 ArrayList 的异同点?答: Vector 线程安全、速度慢;ArrayList 重速度轻安全Vector 容量增长一倍,ArrayList 增长 50% 7、 Hashtab
7、le 和 HashMap 的异同?答: Hashtable 继承自 Dictionary 类, HashMap 实现 Map 接口Hashtable 线程安全、速度慢;HashMap 重速度轻安全Hashtable 不允许 null 存在, HashMap 允许 null 存在8、 写出循环输出List 集合所有元素的三种方式?(for 、foreach 和迭代器)答: Iterator it=list.iterator(); while(it.hasNext() Object value=it.next(); System.out.println(value); for(Object obj
8、 : list) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - http:/ System.out.println(obj); for(int i=0;ilist.size();i+) System.out.println(list.get(i); 9、 写出循环输出Map 集合所有元素的两种方式(foreach 和迭代器)答: Iterator it=map.keySet().iterator(); while(it.has
9、Next() Object value=map.get(it.next(); System.out.println(value); for(Object obj : map.values() System.out.println(obj); 10、泛型集合和集合的异同点?答:相同点:可以存储任意类型的数据不同点:泛型集合存储指定类型的值,取出时无需类型转换集合存储任意类型的值,取出时均为Object, 赋值给其他类型, 需要强制转换,易引发异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -