java中的最重要的 集合框架

java.util这个重要的包包含大量的类和接口,支持很多的功能。例如,java.util具有能产生伪随机数的类,还包括可以管理日期和时间、观察事件、操作位集合、标记字符串、处理格式化数据等的类。java.util包也包含了Java中功能最强大的子系统之一:集合框架(collections Framework). 以下将分析集合框架中的接口和类。

集合接口:

  

Collection 允许处理一组对象,它位于集合层次结构的项部
Deque 扩展Queue接口,以处理双端队列
List 扩展Collection接口,以处理序列(列表中的可以包含重复的元素)
NavigableSet 扩展SortedSet接口,以处理基于最接近匹配搜索的元素的取回
Queue 扩展Collection接口,以处理列表中的特殊类型,其中的元素只能从前面删除
Set 扩展Collection接口,以处理集合,其中的元素必须唯一
SortedSet 扩展Set接口,以处理排序的集合

除了集合接口外,集合中还使用了Comparator, RandomAccess, Iterator 和 ListIterator 接口。简而言之,Comparator接口定义如何比较两个对象,Iterator和ListIterator接口例举集合中的对象。

Queue接口中有几个方法值得注意:poll()和remove()这两个方法都是删除一个元素,它们的区别在于,如果队列为空,则poll()返回null,而remove()会抛出一个异常,另外存在获得但不删除队列顶部元素的两种方法:element()和peek()。它们的区别在于,如果队列为空,则element()抛出一个异常,而peek()返回null。

集合类:

AbstractCollection 实现大部分Collection接口
AbstractList 扩展AbstractCollection, 实现大部分List接口
AbstractQueue 扩展AbstractCollection, 实现部分Queue接口
AbstractSequentialList  扩展AbstractList, 用于顺序而不是随机访问集合的元素
LinkedList 通过扩展 AbstractSequentialList 实现链表
ArrayList 通过扩展 AbstractList实现动态数组
ArrayDeque 通过扩展AbstractCollection和实现Deque接口,实现动态双端队列
AbstractSet 扩展AbstractCollection, 实现大部分Set接口
EnumSet 扩展AbstractSet, 用于enum元素
HashSet 扩展AbstractSet, 用于哈希表
LinkedHashSet 扩展HashSet, 允许按照插入的顺序来迭代
PriorityQueue 扩展AbstractQueue, 支持基于优先级的队列
TreeSet 在树中实现组,扩展AbstractSet
时间: 2024-10-13 09:31:16

java中的最重要的 集合框架的相关文章

java中数组,列表,集合的基本用法

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class shuzu { public static void main(String[] args){ //数组 array(); //列表 list(); //集合 map(); } public static void array(){ int[] a=new int[]{0,1

java中Comparator的用法 -- 实现集合和数组排序

在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类Step package com.ljq.entity; /** * */public class Step{ /** 时间 */ private String acceptTime = ""; /** 地点 */ private String acceptAddress = ""; public Ste

Java编程练习(四)——集合框架应用

Java集合框架小应用之扑克牌小游戏 学习了Java集合框架之后,我写了一个扑克牌小游戏来巩固知识.学习之余的练习之作,有不足之处还得多多指教了~(*/ω\*) 扑克牌小游戏背景: 1. 创建一副扑克牌,不考虑大小王 包括四种花色:黑桃.红桃.梅花.方片 十三种点数:2-10,J Q K A 2. 创建两名玩家,玩家至少要有ID.姓名.手牌等属性,手牌为扑克牌的集合 3. 洗牌,将之前创建的扑克牌顺序打乱(说明是有序的) 4. 发牌,将洗牌之后的扑克牌集合,从第一张开始,发给两名玩家,按照一人一

java 面向对象编程-- 第15章 集合框架

1.  集合特点:元素类型不同.集合长度可变.空间不固定 2.  java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3.  JCF(Java Collections Framework)是JavaSE中包含的由一组类和接口组成的Java集合框架,其主要功能是用来将存储的数据以某种结构组织,并以特定的方式来访问这些数据,其目标是提供一个处理对象集合的通用框架,减少程序员处理不同对象集合时的编码量. 4.  集合框架包含三个内容:接口.实现类.算法.

JAVA学习第四十三课 — 集合框架工具类(一)

一.Collections:集合框架的工具类 其中的方法都是静态的 排序方法演示 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class ComparaByLeng implements Comparator<String>{ public int compare(String o1, String o2) { int

Java高级特性 第1节 集合框架和泛型

Java中,存储多个同类型的数据,可以用数组来实现,但数组有一些缺陷: 数组长度固定不变,布恩那个很好的适应元素数量动态变化的情况 可以通过数组.length获取数组长度,却无法直接获取数组中实际存储的元素个数 数组采用在内存中分配连续空间的方式存储,根据元素信息查找时的效率比较低,需要多次比较 Java提供了一套性能优良.使用方便的接口和类,他们都位于java.util包中. 一.Java中的集合 Java集合类主要由Map接口和Collection接口派生而来,Collection接口有两个

Java基础学习笔记十六 集合框架(二)

List List接口的特点: 它是一个元素存取有序的集合.例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理). 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素. List接口的常用子类有: ArrayList集合 LinkedList集合 List接口的特有方法(带索引的方法)1.增加元素方法 add(Object e):向集合末尾

JAVA中几种常用的RPC框架介绍

RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展.Java中的RPC框架比较多,各有特色,广泛使用的有RMI.Hessian.Dubbo等.RPC还有一个特点就是能够跨语言,本文只以JAVA语言里的RPC为例. 对于RPC有一个逻辑关系图,以RMI为例: 其他的框架结构也类似,区别在于对象的序列化方法,传输对象的通讯协议,以及注册中心的管理与failover设计(利用zookeeper). 客户端和服务端可以运行在不同的JVM中,Client只

《java入门第一季》之集合框架TreeSet存储元素自然排序以及图解

这一篇对TreeSet做介绍,先看一个简单的例子: * TreeSet:能够对元素按照某种规则进行排序. * 排序有两种方式 * A:自然排序: 从小到大排序 * B:比较器排序    Comparator import java.util.TreeSet; * TreeSet集合的特点:排序和唯一 * * 通过观察TreeSet的add()方法,我们知道最终要看TreeMap的put()方法.因为TreeMap是NavigableMap接口的实现类 */ public class TreeSe