java__《集合》
Posted IT_ZI-O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java__《集合》相关的知识,希望对你有一定的参考价值。
目录
1、Collection 接口的接口 对象的集合(单列集合)
1.2 Set extends Collection(内容较多,建议放大)
引言
如果一直想见谁,迟早肯定会见到。
——村上春树
一、集合概述
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__《集合》的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_4_Iterator接口介绍