美国上市公司,专注Java培训21年

达内java培训机构亲情奉献—Java容器 你会用几个?


达内java培训机构亲情奉献—Java容器 你会用几个?

达内java培训机构亲情奉献—Java容器 你会用几个?其中用绿色填充的为常用的类,需重点掌握。

Java容器的最上层都是以接口的形式出现,具体实现由子接口完成。举个例子:

Map map = new HashMap();

package java.util;

import java.util.function.Consumer;

public interface Iterator {

boolean hasNext();

E next();

default void remove() {

throw new UnsupportedOperationException("remove");

}

default void forEachRemaining(Consumer action) {

Objects.requireNonNull(action);

while (hasNext())

action.accept(next());

}

}

常见用法:

Iterator iter = l.iterator();

while(iter.hasNext()){

String str = (String) iter.next();

System.out.println(str);

}

Collection

存放独立元素的序列。Collection下又有三个子接口,List,Set,Queue。

List

一个有序的Collection(也称序列),元素可以重复。确切的讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。实现List的有:ArrayList、LinkedList、Vector、Stack等。

Set

一个不包括重复元素(包括可变对象)的Collection,是一种无序的集合。Set不包含满 a.equals(b) 的元素对a和b,并且最多有一个null。实现Set的接口有:EnumSet、HashSet、TreeSet等。

Queue

一种队列则是双端队列,支持在头、尾两端插入和移除元素,主要包括:ArrayDeque、LinkedBlockingDeque、 LinkedList。另一种是阻塞式队列,队列满了以后再插入元素则会抛出异常,主要包括ArrayBlockQueue、 PriorityBlockingQueue、LinkedBlockingQueue。

Map

存放key-value型的元素对。

常见容器与工具类

ArrayList

数据结构采用的是链表,优势是删除和添加的效率很高,但随机访问元素时效率较ArrayList类低。

LinkedList

数据结构采用的是线性表,优势是访问和查询十分方便,但添加和删除的时候效率很低。

HashSet

数据结构采用的是散列表,主要是设计用来做高性能集运算的,例如对两个集合求交集、并集、差集等。集合中包含一组不重复出现且无特性顺序的元素。其值是不可重复与无序的。

TreeSet

数据结构使用的是红黑树,性能上低于HashSet,用于排序。

HashMap

数据结构使用的是散列表,是最常用的是Collection

TreeMap

与TreeSet同理,用于排序。

Arrays、Collections

这两者可以理解成工具类,提供一些处理容器类静态方法,比如二分查找,排序等等。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java编程工具用哪个最好
    Java编程工具用哪个最好
    Java编程工具用哪个最好?Java编程工具的选择取决于个人的偏好、项目需求和开发环境。以下是一些常用的Java编程工具: 详情>>

    2024-04-03

  • 好用的Java编写软件
    好用的Java编写软件
    Java是一种广泛使用的编程语言,因其跨平台、安全性和稳定性而受到许多开发者的喜爱。Java被用于开发各种类型的软件,从桌面应用程序到企业级服务器端应用程序。以下是一些常见的、用Java编写的软件示例: 详情>>

    2024-04-02

  • Java测试工具有哪些?
    Java测试工具有哪些?
    Java测试工具有哪些?Java测试工具有很多,可以用于不同的测试阶段和目的,包括单元测试、集成测试、性能测试等。以下是一些流行的Java测试工具: 详情>>

    2024-04-02

  • Java有哪些课程?
    Java有哪些课程?
    Java是一种功能丰富且易于学习的编程语言,适用于多种不同的应用领域。目前,许多机构和在线平台都提供了丰富的Java相关课程,课程内容涵盖了Java的基础知识、高级特性以及实际应用等方面。以下是一些Java课程的示例: 详情>>

    2024-03-14

  • Java开班时间

    收起