Java Collections集合继承结构图_动力节点Java学院整理

作者:mrr 时间:2022-07-10 03:44:53 

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

数组虽然也可以存储对象,但长度是固定的;集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象。
集合类的特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。 

集合框架图  

Java Collections集合继承结构图_动力节点Java学院整理

Java Collections集合继承结构图_动力节点Java学院整理

Collection (集合的最大接口)继承关系

——List可以存放重复的内容
——Set不能存放重复的内容,所以的重复内容靠hashCode()和equals()两个方法区分
——Queue队列接口
——SortedSet可以对集合中的数据进行排序

Collection定义了集合框架的共性功能。

1,添加

add(e);
addAll(collection);

2,删除

remove(e);
removeAll(collection);
clear();

3,判断。

contains(e);
isEmpty();

4,获取

iterator();
size();

5,获取交集。

retainAll();

6,集合变数组。

toArray();

*add方法的参数类型是Object。以便于接收任意类型对象。
*集合中存储的都是对象的引用(地址)

List的常用子类

List:

特有方法。凡是可以操作角标的方法都是该体系特有的方法。


add(index,element);
addAll(index,Collection);


remove(index);


set(index,element);


get(index):
subList(from,to);
listIterator();
int indexOf(obj):获取指定元素的位置。
ListIterator listIterator();
——ArrayList 线程不安全,查询速度快
——Vector线程安全,但速度慢,已被ArrayList替代
——LinkedList链表结果,增删速度快

Set接口

Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。

|——HashSet:底层数据结构是哈希表。是线程不安全的。不同步。

HashSet是如何保证元素唯一性的呢?

是通过元素的两个方法,hashCode和equals来完成。

如果元素的HashCode值相同,才会判断equals是否为true。

如果元素的hashcode值不同,不会调用equals。

注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。

——TreeSet:

有序的存放:TreeSet线程不安全,可以对Set集合中的元素进行排序

通过compareTo或者compare方法来保证元素的唯一性,元素以二叉树的形式存放。

集合的输出

4种常见的输出方式

——Iterator: 迭代输出,使用最多的输出方式
——ListIterator: Iterator的子接口,专门用于输出List中的内容
——Enumeration
——foreach

在迭代时,不可以通过集合对象的方法操作集合中的元素。

因为会发生ConcurrentModificationException异常。

所以,在迭代器时,只能用迭代器的放过操作元素,可是Iterator方法是有限的,

只能对元素进行判断,取出,删除的操作,

如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator。

该接口只能通过List集合的listIterator方法获取。

Map接口

Correction、Set、List接口都属于单值的操作,而Map中的每个元素都使用key——>value的形式存储在集合中。

Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。

1,添加。

put(K key, V value)
putAll(Map<? extends K,? extends V> m)

2,删除。

clear()
remove(Object key)

3,判断。

containsValue(Object value)
containsKey(Object key)
isEmpty()

4,获取。

get(Object key)
size()
values()
entrySet()
keySet()

8、Map接口的常用子类

Map

|HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代,jdk1.2.效率高。

|--TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。

集合工具类

Collections:集合框架的工具类。里面定义的都是静态方法。

Collections和Collection有什么区别?

Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。

它有两个常用的子接口,

List:对元素都有定义索引。有序的。可以重复元素。

Set:不可以重复元素。无序。

Collections是集合框架中的一个工具类。该类中的方法都是静态的

提供的方法中有可以对list集合进行排序,二分查找等方法。

通常常用的集合都是线程不安全的。因为要提高效率。

如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。

以上所述是小编给大家介绍的Java Collections集合继承结构图_动力节点Java学院整理网站的支持!

标签:java,collections,集合类,继承结构
0
投稿

猜你喜欢

  • Java序列化和反序列化示例介绍

    2023-11-25 04:24:26
  • 浅谈Java并发中的内存模型

    2022-09-07 17:54:47
  • iOS实现从背景图中取色的代码

    2023-07-06 15:18:32
  • Android自定义TextView跑马灯效果

    2023-08-07 01:14:57
  • 深入理解Java注解类型(@Annotation)

    2022-11-14 17:28:42
  • Java8中LocalDateTime与时间戳timestamp的互相转换

    2023-11-10 05:20:21
  • java简易小游戏制作代码

    2023-11-23 19:49:38
  • 详解备忘录模式及其在Java设计模式编程中的实现

    2023-08-24 22:34:02
  • Java经典面试题汇总--多线程

    2023-07-13 01:17:48
  • Java新手环境搭建 Tomcat安装配置教程

    2021-08-19 08:06:23
  • springboot集成mybatisPlus+多数据源的实现示例

    2023-11-24 22:35:02
  • autoMapping和autoMappingBehavior的区别及说明

    2023-11-29 06:39:25
  • SpringBoot打成war包在tomcat或wildfly下运行的方法

    2023-11-23 08:20:56
  • Java中SimpleDateFormat日期格式转换详解及代码示例

    2023-09-04 22:13:43
  • Java下变量大小写驼峰、大小写下划线、大小写连线转换

    2022-04-19 15:20:18
  • 关于通过java调用datax,返回任务执行的方法

    2023-11-28 21:26:45
  • Java 使用IO流实现大文件的分割与合并实例详解

    2023-08-23 09:33:33
  • Java异步处理机制实例详解

    2022-05-12 01:39:37
  • java 非对称加密算法RSA实现详解

    2023-11-25 07:41:36
  • SpringBoot ApplicationContext接口深入分析

    2021-10-21 23:00:03
  • asp之家 软件编程 m.aspxhome.com