Java集合框架List、Set、Map

Java 集合框架

接口: 是代表集合的抽象数据类型。 例如 Collection、List、Set、Map 等。 之所以定义多个接口,是为了以不同的方式操作集合对象

实现(类): 是集合接口的具体实现。 从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

算法: 是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。 这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

1.List

List是元素有序并且可以重复的集合,称为序列

List可以精确的控制每个元素的插入位置,或删除某个位置的元素

List的两个主要实现类是ArrayList和LinkedList

List中添加,获取,删除元素;
List中是否包含某个元素;
List中根据索引将元素数值改变(替换);
List中查看(判断)元素的索引;
根据元素索引位置进行的判断;
利用List中索引位置重新生成一个新的list(截取集合);
对比两个List中的所有元素;
判断List是否为空;
返回Iterator集合对象;
将集合转换为字符串
将集合转换为数组
集合类型转换;
去重复等;

  List<String> list=new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        System.out.println(list);
        System.out.println(list.get(0));
        System.out.println(list.get(1));
        System.out.println(list.get(2));
        System.out.println(list.get(3));

        System.out.println("List集合的遍历");
        for (String s:list){
            System.out.println(s);
        }

2.Set

Set继承于Collection接口,是一个不允许出现重复元素,并且无序的集合,主要有HashSet和TreeSet两大实现类。

在判断重复元素的时候,Set集合会调用hashCode()和equal()方法来实现。

set检索元素效率低,而增删效率快,增删不会引起其他元素位置发生改变。

特点:无序,不允许重复,查询慢,增删快

Set<String> set=new HashSet<>();
        set.add("e");
        set.add("f");
        set.add("g");
        set.add("h");
        System.out.println(set);

        System.out.println("Set集合的遍历");
        Iterator<String> iterator=set.iterator();
        while (iterator.hasNext()){
            String s=iterator.next();
            System.out.println(s);
        }

3.Map

Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。

特点:键值储存,key无序不可重复
Map 接口主要有两个实现类:HashMap 类和 TreeMap 类。其中,HashMap 类按哈希算法来存取键对象,而 TreeMap 类可以对键对象进行排序。HashMap底层采用哈希表的数据结构,非线程安全的。

        Map<String,Object> map=new HashMap<>();
        map.put("name","张三");
        map.put("age","18");
        map.put("sex","男");
        System.out.println(map);

        System.out.println("Map的遍历");
        Set<String> keySet=map.keySet();
        Iterator<String> iterator1=keySet.iterator();
        while (iterator1.hasNext()){
            String key=iterator1.next();
            Object value=map.get(key);
            System.out.println(key+"---"+value);
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值