全面接触Java集合框架

free冰雪芙蓉

free冰雪芙蓉

2016-02-19 15:57

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是全面接触Java集合框架,一起来学习了解下吧!

  Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。
  
  
  Java 2集合框架图
  
  集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
  
  抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。
  
  实现类:8个实现类(实线表示),对接口的具体实现。
  
  在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,答应您更改基本的数据结构而不必改变其它代码。
  
     · Collection 接口是一组答应重复的对象。
  
  · Set 接口继续 Collection,但不答应重复,使用自己内部的一个排列机制。
  
  · List 接口继续 Collection,答应重复,以元素安插的次序来放置元素,不会重新排列。
  
  · Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。
  
  · 容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。
  
  
  Java 2简化集合框架图
   集合接口
  
  1.Collection 接口
  
  用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。
  
  
  
  (1) 单元素添加、删除操作:
  
   boolean add(Object o):将对象添加给集合
  
   boolean remove(Object o): 假如集合中有与o相匹配的对象,则删除对象o
  
  (2) 查询操作:
  
   int size() :返回当前集合中元素的数量
  
   boolean isEmpty() :判定集合中是否有任何元素
  
   boolean contains(Object o) :查找集合中是否含有对象o
  
   Iterator iterator() :返回一个迭代器,用来访问集合中的各个元素
  
  (3) 组操作 :作用于元素组或整个集合
  
   boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素
  
   boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合
  
   void clear(): 删除集合中所有元素
  
   void removeAll(Collection c) : 从集合中删除集合c 中的所有元素
  
   void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素
  
  (4) Collection转换为Object数组 :
  
   Object[] toArray() :返回一个内含集合所有元素的array
  
   Object[] toArray(Object[] a) :返回一个内含集合所有元素的array。运行期返回的array和参数a的型别相同,需要转换为正确型别。
  
  此外,您还可以把集合转换成其它任何其它的对象数组。但是,您不能直接把集合转换成基本数据类型的数组,因为集合必须持有对象。
  
  “斜体接口方法是可选的。因为一个接口实现必须实现所有接口方法,调用程序就需要一种途径来知道一个可选的方法是不是不受支持。假如调用一种可选方法时,一个 UnsupportedOperationException 被抛出,则操作失败,因为方法不受支持。此异常类继续 RuntimeException 类,避免了将所有集合操作放入 try-catch 块。”
  
  Collection不提供get()方法。假如要遍历Collectin中的元素,就必须用Iterator。
  
  1.1.AbstractCollection 抽象类
  
  AbstractCollection 类提供具体“集合框架”类的基本功能。虽然您可以自行实现 Collection 接口的所有方法,但是,除了iterator()和size()方法在恰当的子类中实现以外,其它所有方法都由 AbstractCollection 类来提供实现。假如子类不覆盖某些方法,可选的如add()之类的方法将抛出异常。
  
  1.2.Iterator 接口
  
  Collection 接口的iterator()方法返回一个 Iterator。Iterator接口方法能以迭代方式逐个访问集合中各个元素,并安全的从Collection 中除去适当的元素。
  
  
  
  (1) boolean hasNext(): 判定是否存在另一个可访问的元素
  
  Object next(): 返回要访问的下一个元素。假如到达集合结尾,则抛出NoSUChElementException异常。
  
  (2) void remove(): 删除上次访问返回的对象。本方法必须紧跟在一个元素的访问后执行。假如上次访问后集合已被修改,方法将抛出IllegalStateException。
  
  “Iterator中删除操作对底层Collection也有影响。”
  
  迭代器是 故障快速修复(fail-fast)的。这意味着,当另一个线程修改底层集合的时候,假如您正在用 Iterator 遍历集合,那么,Iterator就会抛出 ConcurrentModificationException (另一种 RuntimeException异常)异常并马上失败。 2.List接口
  
  List 接口继续了 Collection 接口以定义一个答应重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。
  
  
展开更多 50%)
分享

猜你喜欢

全面接触Java集合框架

编程语言 网络编程
全面接触Java集合框架

java集合框架 arrayblockingqueue应用分析

编程语言 网络编程
java集合框架 arrayblockingqueue应用分析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java集合框架的体系结构详细说明

编程语言 网络编程
java集合框架的体系结构详细说明

接触 Java概述

编程语言 网络编程
接触 Java概述

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

全面接触SQL语法

编程语言 网络编程
全面接触SQL语法

javascript函数库-集合框架

Web开发
javascript函数库-集合框架

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

图片模糊、锐化、雕刻

图片模糊、锐化、雕刻

接触 Java概述

接触 Java概述
下拉加载更多内容 ↓