`
bobshute
  • 浏览: 284745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

介绍Java集合类(Collections)

    博客分类:
  • j2se
阅读更多
    本文介绍了java.util下的接口Collection和集合类Collections的相关知识,供大家参考。

     

    在介绍Java集合类之前,首先介绍一下Java集合的概念。

    Java集合Collection接口

    Collection 是任何对象组,元素各自独立,通常拥有相同的套用规则。Set List由它派生。

    基本操作:

    增加元素add(Object obj); addAll(Collection c);

    删除元素 remove(Object obj); removeAll(Collection c);

    求交集 retainAll(Collection c);

    删除元素 remove(Object obj); removeAll(Collection c);

    求交集 retainAll(Collection c);

    访问/遍历集合元素的好办法是使用Iterator接口(迭代器用于取代Enumeration)

  1. Public interface Iterator{  
  2.  
  3.     Public Boolean hasNext(};  
  4.  
  5.      Public Object next(};  
  6.  
  7.      Public void remove(};  
  8.  

一、set

无重复、无序

HashSet-基于散列表的集,加进散列表的元素要实现hashCode()方法以判断是否为同一个对象,无顺序、无重复。

LinkedHashSet-在HashSet中加入了链表数据结构,有顺序

TreeSet-可以排序,需要实现Comparable接口,并实现其compareTo()方法,以排序。

二、List

有重复、有序

ArrayList(数组表)- 有重复、有顺序。类似于Vector,都用于缩放数组维护集合。区别:

1.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

2.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

LinkedList(链表)-是双向链表,适合变更很多的List。

用在FIFO,用addList()加入元素 removeFirst()删除元素

用在FILO,用addFirst()/removeLast()

ListIterator提供双向遍历next() previous(),可删除、替换、增加元素

三、Map

用于关键字/数值对,较高的存取性能。不允许重复的key,但允许重复的Value。

处理Map的三种集合

关键字集KeySet() 数值集value()   项目集enrySet()

四个具体版本

HashMap-散列表的通用映射表,无序,可在初始化时设定其大小,自动增长。

LinkedHashMap-扩展HashMap,对返回集合迭代时,维护插入顺序

WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的关键字的引用,则内存回收程序会回收它

TreeMap-基于平衡树的映射表 

四、Java集合类collections

用于同步集合,还能改变集合只读方式的类

e.g.:

  1. Map mp=new HashMap();  
  2.  
  3. mp=Collections.synchronizedMap(mp); //生成线程安全的映射表  
  4.  
  5. mp=Collections.unmodifiableMap(mp); //生成只读映射表 

五、Comparable 自然顺序的排序类 Comparator 面向树的集合排序类

六、Vector类

Vector,可以动态增加容量。对它的操作简要如下

七、Enumeration接口 

八、Dictionary类

字典。关键字/数值方式存取数据,如果映射没有此关键字,取回null。

九、Hashtable类

Dictionary结构的具体实现。 

1、Collection 和 Collections的区别。

Collections是个java.util下的类,它包含有各种有关java集合操作的静态方法。 

Collection是个java.util下的接口,它是各种java集合结构的父接口

2、List, Set, Map是否继承自Collection接口? List,Set是 Map不是

3、ArrayList和Vector的区别。

(1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

(2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

4、HashMap和Hashtable的区别

(1).历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现

(2).同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的

(3).值:只有HashMap可以让你将空值作为一个表的条目的key或value

Java集合类的相关内容就介绍到这里。

 

http://developer.51cto.com/art/200909/149543.htm

分享到:
评论

相关推荐

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

    第13讲 JAVA集合类.ppt

    Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...

    Java集合排序及java集合类详解

    在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...

    java集合类演示源码

    集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...

    Java Generics and Collections (Java泛型与集合)

    接着,我们转向Java集合框架。集合框架是一组接口和类,它们提供了存储、操作和管理对象的方式。主要接口包括List、Set和Map,而ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等是这些接口的主要实现...

    Java集合类详解总结

    ### Java集合类详解总结 在Java编程中,集合框架(Collection Framework)是处理一组对象的强大工具,它提供了标准的数据结构来存储和操作这些对象。Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`...

    java集合类详解

    Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...

    Java 集合类 简单Demo

    本示例主要探讨的是Java集合类的简单使用,通过一个名为`CollectionsTest.java`的文件进行演示。这篇博客文章可能详细解释了如何创建、操作和理解Java集合类的基本概念。 首先,Java集合框架主要包括接口和实现这些...

    java集合类总结

    本文将对Java集合框架中的Collection接口及其相关接口、类进行深入的探讨。 首先,Collection接口是所有单值容器的基础,它是Set、List和Queue接口的父接口。Collection接口定义了通用的操作方法,如`add()`用于...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    Java集合排序及java集合类详解.pdf

    虽然由于OCR扫描的原因,内容存在一些文字错误和漏识别,但可以推断该文档详细讲解了Java集合类的各个接口以及实现类的特点、用法以及它们之间的区别,并且详细介绍了集合的排序机制,如何利用Comparable和...

    java集合分类总结.doc

    Arrays和Collections是Java集合中的两个工具类。Arrays类包含用来操作数组的各种方法,如排序和搜索等。Collections类主要提供了在collection上进行操作的方法,如排序、查找等。 学习Java集合需要掌握以下几个方面...

    java 集合类讲解

    Java集合类是Java编程语言中一个非常重要的概念,它提供了数据结构和算法的实现,使得开发者可以方便地存储、管理和操作对象。Java集合框架包括多种接口(如List、Set、Queue)和实现这些接口的类(如ArrayList、...

    Java Generics and Collections

    Java集合框架包括一系列接口(如List、Set、Queue等)和实现这些接口的类(如ArrayList、HashSet、LinkedList等)。框架的设计使得各种集合可以相互转换,提供了丰富的操作集合的方法。 1. **接口**:例如,`List`...

    java的集合类教学

    总之,Java集合类提供了丰富的选择来满足不同场景下的数据存储需求,从无序不重复的Set到有序可重复的List,再到键值对的Map,都有对应的接口和实现类。理解并熟练掌握这些接口和实现类的特性和使用方法,是提高Java...

    JAVA集合类幻灯片

    首先,`Collection`是集合框架的顶层接口,它是所有集合类的基类。尽管Java标准库没有提供直接实现`Collection`接口的类,但它的子接口如`Set`和`List`提供了实际的实现。`Set`接口代表不允许有重复元素的集合,而`...

    Java集合类List-Set-Map的区别和联系.doc

    在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的介绍。 一、Array、Arrays 和 Collection Array 是 Java 中最基本的集合类,它是固定大小的、线程安全的,可以存储基本类型和对象类型的...

    java集合类的相关资料

    本资料包含“集合类.doc”和“java_集合.pdf”,旨在深入探讨Java集合类的相关知识。 首先,Java集合框架的核心接口包括List、Set、Queue和Map。这些接口定义了各种集合的行为,而具体的实现类则提供了实际的数据...

Global site tag (gtag.js) - Google Analytics