集合框架的学习
集合框架的学习是在学习java语言中遇到的第一种陌生的东西,在这之前我在网上看到过很多讲解集合框架的资料,但是没有一份资料是我能够完全看得懂的。在看过老师发的集合框架的PPT后才知道之前在网络上看到的所有的list、set、map类都是日常开发使用不到的。
总结:不管在网上的资料看不看得懂在你阅读的过程中你都会慢慢的有很多的理解,只会越来越深入。
在PPT上了解到六大集合类,TreeSet、HashSet、ArrayList、LinkedList、TreeMap、HashMap。在这六大类中主要使用的是ArrayList、HashMap类。这六大类实现为三大接口Set、List、Map。在三大接口又继承了collcation接口。
接口的各类方法就不一一讲解。
题:Collection 、List 、Set 、Map接口的联系和区别有哪些?
答: Collection 是一个较高的抽象,List, Set 和 Map都是Collection的子接口。
1.List的特征: 允许重复元素,存储顺序与插入元素顺序一致;
2.Set 特征: 不允许重复元素(和数学中的集合一样),不保证元素存储顺序;
3.Map: 存储元素是一系列 Key => Value (键=>值)。
题:ArrayList和LinkedList有什么异同之处?
答:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
题:List和Set集合之间的区别和联系?
答:Collection是集合的上级接口,他的子接口是list和set,list是有序的允许元素重复,set是无序的,不允许元素重复。
题:Iterator是作什么用的?有哪几个常用方法?
答:Java中的Iterator功能比较简单,并且只能单向移动。使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
1.hasNext()方法:使用hasNext()检查序列中是否还有元素。
2.next()方法:使用next()获得序列中的下一个元素。
3.remove():使用remove()将迭代器新返回的元素删除。
题:什么是集合
答:1.集合类存放于java.util包中。
2.集合类型主要有3种:set(集)、list(列表)和map(映射)。
3.集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。
简单来讲:集合就是一个放数据的容器,准确的说是放数据对象引用的容器。
题:java中都有那些集合,集合有几种大类型
答:集合类型主要有3种:set(集)、list(列表)和map(映射)。
![](https://i-blog.csdnimg.cn/blog_migrate/8f31785692f8fb783b5ec627028a5459.png)
题:List集合和Set集合的区别联系?
答:1.List和Set是存储单列数据的集合。
2.List中存储的数据是有顺序的,并且值允许重复;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(Set集合是根据hashcode来进行数据存储的,所以位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的)。
题:Map集合有什么的特点?
答:1.Map是存储键值对这样的双列数据的集合。
2.Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;
题:Iterator迭代器的作用
答:由于Java中数据容器众多,而对数据容器的操作在很多时候都具有极大的共性,于是Java采用了迭代器为各种容器提供公共的操作接口。使用Java的迭代器iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。
题:泛型是什么
答:泛型:就是一种不确定的数据类型。
比如:ArrayList<E> E就是泛型。 这种不确定的数据类型需要在使用这个类的时候才能够确定出来。
泛型可以省略,如果省略,默认泛型是Object类型。
泛型的好处:1. 省略了强转的代码。2. 可以把运行时的问题提前到编译时期。