Java中的集合

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

集合是一组表示为单个单元的单个对象。Java提供了Collection Framework,它定义了几个类和接口,将一组对象表示为一个单元。

Collection接口(java.util.Collection)和Map接口(java.util.Map)是Java集合类的两个主要根接口。

Collection框架

在引入Collection Framework之前(或在JDK 1.2之前),用于对Java对象(或集合)进行分组的标准方法是array或Vector或Hashtable。所有这三个集合都没有通用接口。
例如,如果我们想要访问array,vector或Hashtable的元素。所有这三个都有不同的方法和语法来访问成员:

// Java program to show whey collection framework was needed
import java.io.*;
import java.util.*;
 
class Test
{
    public static void main (String[] args)
    {
        // Creating instances of array, vector and hashtable
        int arr[] = new int[] {1, 2, 3, 4};
        Vector<Integer> v = new Vector();
        Hashtable<Integer, String> h = new Hashtable();
        v.addElement(1);
        v.addElement(2);
        h.put(1,"geeks");
        h.put(2,"4geeks");
 
        // Array instance creation requires [], while Vector
        // and hastable require ()
        // Vector element insertion requires addElement(), but
        // hashtable element insertion requires put()
 
        // Accessing first element of array, vector and hashtable
        System.out.println(arr[0]);
        System.out.println(v.elementAt(0));
        System.out.println(h.get(1));
 
        // Array elements are accessed using [], vector elements
        // using elementAt() and hashtable elements using get()
    }
}

输出:

1
1
geek

我们可以看到,集合(Array,Vector或Hashtable)都没有实现标准的成员访问接口。因此,程序员很难编写可以适用于所有类型集合的算法。
另一个缺点是,大多数'Vector'方法都是最终的。因此,我们无法扩展'Vector'类来实现类似的集合。
Java开发人员决定提出一个通用接口来处理上面提到的问题并引入了Collection Framework,他们在JDK 1.2中引入了集合,并改变了传统的Vector和Hashtable以符合集合框架。

Collection框架的优点:

  1. 一致的API:API具有基本的接口集,如Collection,Set,List或Map。所有那些实现的类(如ArrayList,LinkedList,Vector等),这些接口都有一些通用的方法集。
  2. 减少编程工作:程序员不必担心Collection的设计,而不是他可以专注于他的程序中的最佳使用。
  3. 提高程序速度和质量:通过提供有用的数据结构和算法的高性能实现来提高性能。

集合框架的层次结构

             Collection                Map
         /     /    \      \            |
        /      /      \     \           |
     Set    List    Queue  Dequeue   SortedMap
     /
    /
 SortedSet 
            Core Interfaces in Collections

Note that this diagram shows only core interfaces.

Java中的集合

  •   本文标题:Java中的集合 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/5026.html

    "Java中的集合"的笔记

    • Break易站

      2019年2月11日 上午9:19

      Collection接口是Set,Queue,List的父接口。Collection接口中定义了多种方法可供其子类进行实现,以实现数据操作。

      Map用户保存具有映射关系的数据,因此Map集合里保存着两组数,一组值用户保存Map里的key,另一组值用户保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。
      key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从Map中取出数据时,只要给出指定的key,就可以取出对应的value。

      java集合

    扫描二维码添加微信 
  • ,领取淘宝优惠券,淘宝购物更优惠。现在添加微信,还可以领取机械键盘优惠券!添加微信后,分享淘宝选中的机械键盘给淘宝机器人即可领取!
    支持我们,就用微信淘宝!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读