【Java基础】--Java容器剖析:Set、List、Map接口

  
  上篇博客主要讲了容器的总接口Collection,这篇博客要介绍一下实现Collection接口的子接口:Set、List、Map。
  
  这里写图片描述
  

Set接口

  Set接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的元素是无序的,而且不可以重复。
  J2SDK API中提供的Set容器有HashSet,TreeSet等。
这里写图片描述
  

List接口

  也为Collection的子接口,实现List接口的容器类中的元素是有序的,而且可以重复。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的所有元素。
  J2SDK API中提供的List容器有ArrayList,LinkedList等。
这里写图片描述
这里写图片描述
  

Map接口

  实现Map接口的类用来存取键——值对。
  Map接口中存储的键——值对通过键来标识,所以键不能重复。

    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            Map m1=new HashMap();
            Map m2=new TreeMap();
            m1.put("one", new Integer(1));
            m1.put("two", new Integer(2));
            m1.put("three", new Integer(3));
            m2.put("A",new Integer(1));
            m2.put("B", new Integer(2));
            System.out.println(m1.size());
            System.out.println(m1.containsKey("one"));
            System.out.println(m2.containsValue(new Integer(1)));
            if(m1.containsKey("two")){
                int i =((Integer)m1.get("two")).intValue();
                System.out.println(i);
            }
            Map m3=new HashMap(m1);
            m3.putAll(m2);//合并两个map
            System.out.println(m3);



        }   
    }

输出结果:

这里写图片描述

在合适的时机可以自动的打包和解包(JDK1.5后被支持)。
1.自动将基础类型转换为对象
2.自动将对象转换为基础类型

这里写图片描述

如何选择数据结构呢?

  1. ArrayList读快改慢
  2. LinkedList改快读慢
  3. Hash介于两者之间

总结

List:元素放入有序,可重复
Set:元素放入无序,不可重复
Map:元素按键值对放入 ,无序

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值