Java教程

JAVA基础知识~集合

本文主要是介绍JAVA基础知识~集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

集合

        框架知识结构图:

 

        什么是集合?

                集合简单的来说是一个容器,是一个存数据,长度可变的。

                与数组的区别是:数组可以是基本类型,也可以是引用类型。

                                             集合只能是引用类型。

                                             数组只能存储同一种类型。

                                             集合可以存储不用类型。

                常用的集合有:List,Set,Map。

                      List和Set的区别:

                                List集合:是一个有序的(存储有序)无索引  可以存重复的数据的  

                        List集合常用的方法:

                                   add(索引,元素)  get(独有的)  remove(索引,变量)  clear(索引,变量)

                         List的分类:

                                        ArrayList:底层数据结构是:数组

                                                          特点是:查找快,增删慢。 线程不安全,但效率高

                                        LinkedList:底层数据结构是:链表

                                                            特点是: 增删快,查找慢。 线程不安全,但效率高。

                 Set集合:

                        Set集合:是一个不能重复的    没有索引的  存储无序的集合

                        Set集合分类:

                                TreeSet:

                                        底层数据结构是:采用二叉树来实现,元素唯一且已经排好序,唯一性同样需要重写hashCode. 

                                         根据构造方法分为:自然排序,比较器排序

                                HashSet:

                                        底层数据结构是:采用哈希表实现

                                         特点:元素不能重复且元素无序且唯一,线程不安全,效率高,可以存储null元素。注意(元素的唯一性,是靠重写所存储元素类型是否重写hashCode()和equals()方法来保证的,如果没有重写,则无法保证元素的唯一性。)

                                LinkHashSet:底层数据结构是:采用链表和哈希表共同实现,链表保证了元素的顺序与存储顺序一至,哈希表保证了元素的唯一性,但线程不安全,效率高。

                Set存入Set的每个元素都必须是唯一的,因为Set不保存重复的元素。

                        Map集合:

                                什么是Map集合?

                                        Map用于保存具有映射关系的数据库,是一个双列集合,存储两个数据,一个是键,一个是值,其键是不能重复的,值是可以重复的。它是一个接口,也是一个内部类(Entry)。

             使用Map:         put 赋值 提示:键是唯一的   存入成功,null  ; 被占用的键所指向的值。

                                         get(object Key)  是取值获取单个键  提示:获取单个键,返回值是数据类型。

                                        keySet():  提示:获取所有的键,返回值是数据类型     Set<K>

                                       Set<<Map,Entry><K,V>>EntrySet()  提示:Map.Entry  : 是键值对的关系,管理键值对关系,键找到值(映射关系)。

                                     Map的分类及比较:

                          

 

知识补充:关于迭代器,增强for,通配符,泛型,可变参等小知识。以图片形式出现。

 

 

 

这篇关于JAVA基础知识~集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!