首页 > Windows开发 > 详细

Java 容器API

时间:2014-02-06 02:10:17      阅读:367      评论:0      收藏:0      [点我收藏+]

      Java容器API位于Java.util包中,Java.util包包含许多类和接口,包括集合框架。集合框架是一个复杂接口和类的层,提供了管理对象组的优化技术。其中Collection类就是属于集合框架中的一个接口。

 

      Collection接口是允许处理一组对象,它位于集合层次结构的顶部。是构造集合框架的基础,它必须被定义的任意类所实现。

    

     bubuko.com,布布扣



ListSet

     

List 

      List是有序且可重复的,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引来访问List中的元素,这类似于Java的数组。

 

    List示意图:

          bubuko.com,布布扣

      List集合非常像一个数组,它可以记住每次添加元素的顺序,List长度可变。

所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对;所有List中可以有相同的元素;可以有Null元素;基于ArrayList适合查询,LinkedList适合添加、删除操作。

 

 Set

     Set是一种不包含重复的元素的无序CollectionSet实现的基础是Map,如果使用addObject obj)方法添加已经存在的对象,则会覆盖前面的对象。

 

    Set示意图:

       bubuko.com,布布扣

     Set 集合类似于一个罐子,把一个对象添加到Set集合时,Set集合无法记住添加这个元素的顺序,所以Set里的元素不能重复否则系统无法准确识别这个元素

 

       虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。因为HashMap的key具有唯一性,所以Set里面存储的数据不能重复

 

 

Map

    

      Map作为一种键值对的形式进行关联的容器。一个键可以与多个键值对应,但是一个键值必须对应一个键,这样就形成了多级映射。对于键来说,像Set一样,一个Map容器中的键不允许重复,为了保持查找结果的一致性。在使用的过程中,只要保持最后一次修改的值与键对应。对于键的要求具有唯一性。

 

    Map示意图:

           bubuko.com,布布扣


例子

     

import java.util.*;
public class TestCollection{
     public static void main(String[] args){
	      //父类引用指向子类对象,可以实现不同类型的对象
		  Collection c = new ArrayList();
		  c.add("hello");
		  c.add(new Name("f1","l1"));
		  c.add(new Integer(100));
		  System.out.println(c.size());
		  System.out.println(c);
	 }
}

 

总结

      

     Set中的数据对象没有顺序且不可重复;List中的数据对象有顺序且可重复。重复的意思是这两个对象互相equals若相等就是重复。Map存储键值对,必须保证键的唯一性。


Java 容器API

原文:http://blog.csdn.net/liutengteng130/article/details/18942205

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!