做公司网站需要哪些资料,咸阳专业网站建设,外国的网站是什么网站,35互联做网站好吗1、什么是集合#xff1f;
就是一组数据的集合体#xff0c;就像篮子装着苹果、香蕉等等#xff0c;这些“水果”就代表数据#xff0c;“篮子”就是这个集合。
集合的特点#xff1a;
集合用于存储对象。
对象是确定的个数可以用数组#xff0c;如果不确定可以用集合…1、什么是集合
就是一组数据的集合体就像篮子装着苹果、香蕉等等这些“水果”就代表数据“篮子”就是这个集合。
集合的特点
集合用于存储对象。
对象是确定的个数可以用数组如果不确定可以用集合因为集合的长度是可以变化的。
集合和数组的区别
数组的长度是固定的集合的长度是可变的。
数组可以存储基本数据类型也可以存储引用数据类型而集合只能存储引用数据类型。
2、什么是集合框架
就像是一个“工具箱”里面装满了这种“容器”这些“容器”都有自己的用途和特点。
List、Set、Map
3、什么是接口
就是一种规范规定了某个对象必须实现哪些方法但不必关注如何具体实现就像是去餐馆里点菜只要点想要的菜不需要知道菜是具体怎么做的。
4、什么是算法
在一个实现了集合框架的接口的对象上完成某种有用的计算方法。
5、什么是数据结构
就是容器中存储数据的方式。
使用一个体系的原则参阅顶层内容建立底层对象。
6、使用集合框架的好处
容量自增长。
提供了高性能的数据结构和算法。
允许不同API之间互相操作。
可以方便地扩展或改写集合。
通过使用JDKJava开发工具包自带的集合类可以代码维护和学习新API的成本。
7、常用的集合类有哪些
常用的集合类主要分为两大类实现Collection接口的集合类和实现Map接口的映射类。
Collection接口的子接口包括List接口和Set接口。
List接口的实现类主要有ArrayList、LinkedList、Vector等等。
Set接口的实现类主要有HashSet、LinkedHashSet、TreeSet等等。
Map接口的实现类主要有HashMap、LinkedHashMap、TreeMap等等。
8、List、Set、Map的区别
List一个有序容器可以存储重复元素可以插入多个null元素元素都有索引。
Set一个无序容器不可以存储重复元素只允许插入一个null元素必须确保元素的唯一性。
Map是一个键值对集合存储键和值之间的映射。Key无序唯一value不要求有序可以不唯一。
9、集合框架底层数据结构
List接口
ArrayListObject数组当添加或删除元素时如果数组满了或者有空余空间ArrayList会自动调整数组大小。
VectorObject数组线程安全。
LinkedList双向链表在开始和结束处添加或删除元素会非常快。
Set接口
HashSet无序、唯一基于HashMap实现的底层采用HashMap实现。
LinkedHashSet和HashSet差不多但它还有一个双向链表用来记录元素的插入顺序所以遍历LinkedHashSet时元素会按照被添加的顺序出现。
TreeSet有序、唯一通过红黑树来实现的平衡二叉树。
Map接口
HashMap在JDK1.8之前它主要是由数组和链表组成的数组是HashMap的主体链表则主要是为了解决哈希冲突而存在的。从JDK1.8开始如果链表太长默认超过8个元素就会转换为红黑树来优化性能。
LinkedHashMap增加了一条双向链表使得可以保持键值对的插入顺序。
HashTable和HashMap类似线程安全。
TreeMap基于红黑树实现的。
10、哪些集合类是线程安全的
Vector、Stack堆栈类先进后出、HashTable、Enumeration枚举相当于迭代器