java__《集合》

Posted IT_ZI-O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java__《集合》相关的知识,希望对你有一定的参考价值。

目录

引言

一、集合概述

1、概念

2、集合框架结构图

二、集合分类

1、Collection 接口的接口 对象的集合(单列集合)

2、Map 接口 键值对的集合 (双列集合)

 三、集合的实现

1、Collection(单列)

 1.1  List  extends  Collection

1.2  Set extends Collection(内容较多,建议放大)

2、Map(双列)

四、 深入理解

1、集合和数组的区别

2、List与Set的区别

 3、泛型

3.1  图解

3.2  概念 

3.3  泛型的使用

 4、Collections(工具类)

Collections概述和使用

五、最后的最后


引言

 如果一直想见谁,迟早肯定会见到。

                                                        ——村上春树

一、集合概述

1、概念

存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。

集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象,那么用数组来装对象的话, 长度不好定义, 而集合解决了这样的问题。

2、集合框架结构图

 

 

二、集合分类

1、Collection 接口的接口 对象的集合(单列集合)

——List 接口:元素按进入先后有序保存,可重复
————— LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
————— ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
————— Vector 接口实现类 数组, 同步, 线程安全

——————— Stack 是Vector类的实现类
——Set 接口: 仅接收一次,不可重复,并做内部排序
—————HashSet 使用hash表(数组)存储元素
———————— LinkedHashSet 链表维护元素的插入次序
 —————TreeSet 底层实现为二叉树,元素排好序

2、Map 接口 键值对的集合 (双列集合)

———Hashtable 接口实现类, 同步, 线程安全
———HashMap 接口实现类 ,没有同步, 线程不安全-
—————– LinkedHashMap 双向链表和哈希表实现
—————– WeakHashMap
——–TreeMap 红黑树对所有的key进行排序
———IdentifyHashMap

 三、集合的实现

1、Collection(单列)

 1.1  List  extends  Collection

List集合内容,想看更详细的知识,请点击下方链接:

详解:看这里,List:java_List(集合)_常见方法操作(实例)_Lee0620的博客-CSDN博客

1.2  Set extends Collection(内容较多,建议放大)

Set集合内容,想看更详细的知识,请点击下方链接:

java-集合-set(不重复集合)知识分解——庖丁解牛版_Lee0620的博客-CSDN博客

2、Map(双列)

Map集合内容,想看更详细的知识,请点击下方链接:

java-集合-Map(双列)——迪迦重制版_Lee0620的博客-CSDN博客

四、 深入理解

1、集合和数组的区别

2、List与Set的区别

 3、泛型

3.1  图解

3.2  概念 

泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。

3.3  泛型的使用

泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法

泛型类:

格式:修饰符 class 类名<类型> {  }
范例:public class Generic<T> {  }
    此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型

泛型接口:

格式:修饰符 interface 接口名<类型> {  }
范例:public interface Generic<T> {  }
实现泛型接口,要创建实现类,重写泛型方法

 泛型方法:

格式:修饰符 <类型> 返回值类型 方法名(类型 变量名) {  }
范例:public <T> void show(T t) {  }

 4、Collections(工具类)

Collections概述和使用

Collections类的概述
    由静态方法组成
    是针对集合操作的工具类

Collections类的常用方法
    public static <T extends Comparable<? super T>> void sort​(List<T> list):将指定的列表按升序排序
    public static void reverse​(List<?> list):反转指定列表中元素的顺序
    public static void shuffle​(List<?> list):使用默认的随机源随机排列指定的列表

五、最后的最后

给大家跳个舞助助兴吧~~

以上是关于java__《集合》的主要内容,如果未能解决你的问题,请参考以下文章

Java_集合05_集合(List)的子类

Java_集合总结

集合_java集合框架

Java_集合框架

阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_4_Iterator接口介绍

Java集合_学习笔记