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,
*///:~

最新文章

  1. Wpf usercontrol dispose
  2. 前端开发week2
  3. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
  4. Unity3D中制作Loading场景进度条
  5. List&lt;T&gt;保存为XML文件
  6. KMP算法的代码实现
  7. 使用ActivityGroup来切换Activity和Layout
  8. 浅谈Oracle 性能优化
  9. Selenium webdriver 封装与重用
  10. idea导入项目出错
  11. MailTest
  12. NVIC
  13. sublime与Emment
  14. java8接口定义增强
  15. Java读取一个文本文件拼接成一个字符串(readFileToString)
  16. 【18/12/31】hashcat源码粗读 --- sha256部分
  17. linux 查看网卡流量:nload
  18. redis for lack of backlog
  19. Kafka高性能吞吐关键技术分析
  20. DGbroker快速失败转移

热门文章

  1. QT 菜单资源设置
  2. laravel Collection mapToDictionary 例子
  3. 字典的setdefault() 和get()方法比较
  4. P3155 [CQOI2009]叶子的染色
  5. spring中的控制反转
  6. [Luogu 3128] USACO15DEC Max Flow
  7. IIS Media Service: Channel 小结
  8. Function Names as Strings
  9. Java容器Set接口
  10. EOJ Monthly 2019.2 (based on February Selection) F.方差