Java 容器的基本概念

java容器类类库的用途时"保存对象",并将其划分为两个不同的概念:

1)Collection(采集).一个独立元素的序列,这些元素都服从一条或多条规则,List必须按照插入的顺序保存元素,而Set不能有重复元素,Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)

2)Map.一组成对的"键值对"对象,允许你使用键来查找值,ArrayList允许你使用数字来查找值,因此在某种意义上讲,它将数字与对象关联在了一起.映射表允许我们使用另一个对象,它也被称为"关联数组",因为它将某些对象与另外一些对象关联在了一起,或者被称为"字典",因为你可以使用键对象来查找值对象,就像在字典中使用单词来定义一样,Map是强大的编程工具

尽管并非总是这样,但在理想情况下,你所编写的大部分代码都是在与这些接口打交道,并且你唯一需要指定所使用的精确类型的地方就是在创建的时候,

List<Apple> apples = new ArrayList<Apple>();//注意ArrayList已经向上转型为List

使用接口的目的在于如果你决定去修改你的实现,你所需要的只是在创建出修改来,

List<Apple> apples = new LinkedList<Apple>();

//注意向上转型并非总能凑效,因为某些类具有额外的功能,
//例如LinkedList具有在List接口中没有的额外方法,而TreeMap也具有Map中没有的方法

Collection接口概括了序列的概念----- 一种存放一组对象的方式

//: holding/SimpleCollection.java
package object;
import java.util.*;

public class SimpleCollection {
  public static void main(String[] args) {
    Collection<Integer> c = new ArrayList<Integer>();//不可用Set
    for(int i = 0; i < 10; i++)
      c.add(i); // Autoboxing
    for(Integer i : c)
      System.out.print(i + ", ");
  }
} /* Output:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
*///:~

猜你喜欢

转载自www.cnblogs.com/jiangfeilong/p/10247176.html