java的集合框架为程序提供了一种处理对象组的标准方式。设计了一系列标准泛型接口:
⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Collection接口,并提供了iterator()方法来返回一个迭代器。用add()方法添加对象,remove方法()删除元素,clear()删除集合所有元素(size=0),contains()方法查看集合是否包含对象,toArray()方法返回集合元素数组,equals()方法比较两个集合是否相等,size()方法返回集合中元素的数目,isEmpty()判断集合是否为空,hashCode()返回调用集合的散列码,iterator()返回调用集合的迭代器。
 
⑵List()接口,扩展了Collection接口,存储一个序列的元素(列表基于0的索引),可以包含重复的元素,但不能有null值。获得特定位置的对象调用get()方法,用set()方法给特定位置元素赋值,用indexOf()或lastIndexOf()方法分别获得对象的第一个实例或最后一个实例所在的位置,subList()方法取子列表,listIterator()返回一个迭代器。
 
⑶Set接口,扩展了Collection接口,该集合不允许存在相同的元素(包括唯一null值)。SortedSet接口,扩展了Set接口并声明自已是升序的集合。First()或Last()方法分别获得第一或最后一个对象,subSet()获得子集,headSet()和tailSet()方法分别获得从头开始或直到未尾的子集。
 
⑷Queue(队列)接口,扩展了Collection接口,并声明一个队列行为(FIFO,先进先出列表)。Offer()方法在队列尾插入元素。element()和peek()方法获得但不移除队列的第一个元素,如果队列为空,element()抛出NoSuchElementException异常,peek()返回null。poll()和remove()方法获得并移除队列的第一个元素,如果队列为空,poll()返回null,remove()抛出异常
 
⑸Comparator(比较器)接口,定义了两个方法:compare()和equals()方法,通过改写compare()方法,能够改变对象排序的方式。
 
⑹Iterator(迭代器)接口、ListIterator(列表迭代器,可进行双向遍历)接口,一般来说,使用迭代器在集合中遍历时应遵循下面的步骤:一通过集合的iterator()得到一个指向集合开始处的迭代器:Iterator itr=collectionObject.iterator();二设置一个判断是否有下一个元素的循环:如while(itr.hasNext()){。三在循环中取出下一个元素:如Object element=itr.next();
 
⑺RandomAccess(随机访问)接口。被ArrayList类和遗留的Vector类实现。
 
⑻Map(映射)接口、Map.Entry (Map的嵌套类、内部类)接口、SortedMap(默认按key键升序排列的映射)接口。映射是将键映射到值的对象,一个映射不能包含重复的键;每个键最多只能映射一个值。Map接口提供三种collection 视图:键集、值集合或键-值映射关系集。映射不是集合,因为它们不实现Collection接口,但是可以通过使用entrySet()方法获得键-值映射关系的集合视图跟效果,或使用keySet()方法获得键的集合视图,使用values()方法获得值的集合视图。put()方法将值放入映射中,get()得到与键k相关联的值。SortedMap接口增加了获取子映射的headMap()、tailMap()、subMap()方法和获取首尾键的firstKey()、lastKey()方法。Map.Entry接口定义了获取键值的getKey()、getValue()方法和替换值的setValue()方法。
Collection集合的有序是Set,Map的有序是TreeMap。
异常:试图增加一个不兼容的对象到集合或映射中,将抛出ClassCastException;如果使用无效索引,抛出IndexOutOfBoundException;null不允许存在于集合或映射中,如果试图使用null对象,抛出NullPointException;当修改不可改变的集合或映射时,抛出UnsupportedOperationException;当调用下一个对象不存在时,抛出NoSuchElementException;集合框架接口示意(父类∈子类):1、Collection∈⑴List,⑵Set∈SortedSet。2、Map∈SortedMap。

java.util 集合框架集合的更多相关文章

  1. Java8集合框架——集合工具类Arrays内部方法浅析

    java.util.Arrays 备注:本文只对 Java8 中的 java.util.Arrays 中提供的基本功能进行大致介绍,并没有对其具体的实现原理进行深入的探讨和分析.详情可自己深入观摩源码 ...

  2. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  3. Java集合(1)一 集合框架

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) java集合(4)一 红黑树. ...

  4. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类

    本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...

  5. java第七章集合框架

    如果想存储多个人物信息可以使用数组实现但是采用数组存以下明显缺陷: 数组长度不变不能适应元素变化情况,若存储大于20个英雄信息则长度不够,若只存储10个则造成内存空间浪费.可用.length获取数组中 ...

  6. 【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版

    原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最 ...

  7. Java集合框架学习

    集合框架 集合框架的目标 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现必须是高效的. 该框架允许 不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的扩展和适应必 ...

  8. Java学习——集合框架【4】

    一.集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实 ...

  9. java 集合框架小结

    一:集合框架  集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.  任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运算的算法.   接口:即表示集合的抽象数据类型.Colle ...

随机推荐

  1. 年轻人你活着不是为了看K线!

    年轻人你活着不是为了看K线!   在网上看到一篇文章,写得还不错,转给大家看一下,内容如下: 这篇文章本来是该几年前写的,奉劝大家不要去玩股票.因为那个时候我的<中国崛起的经济学分析>这本 ...

  2. Appium 切换上下文环境

    Appium 切换上下文环境,代码如下: private void switchToContext(String sContext) { LogManager.getLogger(this.getCl ...

  3. js setTimeout 与 setInterval 以及 for 循环 刷新UI

    1. setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式:执行一次: 如果需要执行多次,自身再次调用 setTimeout(): 示例:无穷循环并带停止按钮的 <html&g ...

  4. css三级下拉的导航栏

    #menu{ height: 65px; width:100%; background-color: rgba(0, 0, 0, 0.5);}#menu ul{ list-style: none;}# ...

  5. bootstrap的弹出框

    data-toggle="popover";//以弹出框事件触发 data-content="弹出框中内容"; data-placement="弹出框 ...

  6. ztree check

    <link rel="stylesheet" href="${contextPath}/resources/ztree/css/demo.css" typ ...

  7. Oracle后台进程

    后台进程简介 启动例程时,Oracle不仅会分配SGA,还会启动后台进程:关闭例程时,Oracle不仅会释放SGA所占用的内存空间,而且还会释放后台进程所占用的Cpu和内存资源.Oracle提供了很多 ...

  8. (巨坑)改了tpl文件之后,前端效果没反应

    通常前端修改很小的部分代码,并不会立即显示出效果.比如,原来是 ,修改后是 虽然只是加多了一个函数,但是作用很大,这种情况下,可能是由于浏览器缓存的原因,修改后的代码没有被重新加载.这个时候,只需要在 ...

  9. Word文档增加快捷键

  10. [转]Windows的窗口刷新机制

    1.Windows的窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序 ...