java 容器(2)

泛型

1.泛型将接口的概念进一步延伸,“泛型”的字面意思就是广泛的类型。类、接口和方法代码可以应用 于非常广泛的类型,代码与它们能够操作的数据类型不再绑定在一起,同一套代码可以用于多种数 据类型,这样不仅可以复用代码,降低耦合性,而且还提高了代码的可读性以及安全性。

2.把运行时期的问题提前到了编译期

3.避免强制类型转换

4.优化程序设计

foreach循环

List list=new ArrayList();
        list.add(123);
        list.add(123);
        list.add(123);
        list.add(33);
        list.add(432);
        for (Object object : list) {
            System.out.println(object);
        }

Set:

无序,不允许重复

hashset:

        不保证顺序 底层数据结构是哈希表

linkedhashset:

        底层是哈希表加链表 哈希表保证唯一性,链表保证有序

treeset:

        可以排序 使用元素自然排序排序

使用Comparator

Map:

Map和collection的区别 :

        1.map存储元素是成对出现的,键是唯一的,值可重复

        2.Collection存储元素是单独的

map集合的数据结构只针对键有效,和值无关

collection的数据结构针对元素有效

hashmap

        键是哈希表结构,可以保证键的唯一性

LinekedHashMap

        Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。

TreeMap

        键是红黑树结构,可以保证键的排序和唯一性

Map的主要功能:

1:添加功能 V put(K key,V value):添加元素。这个其实还有另一个功能

        如果键是第一次存储,就直接存储元素,返回null

        如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值

2:删除功能

        clear():移除所有的键值对元素

        remove(Object key):根据键删除键值对元素,并把值返回

3:判断功能

        boolean containsKey(Object key):判断集合是否包含指定的键

        boolean containsValue(Object value):判断集合是否包含指定的值

        boolean isEmpty():判断集合是否为空

4:获取功能

        Set<Map.entry<k,v>> entrySet():???

        get(Object key):根据键获取值 Set keySet():获取集合中所有键的集合

        Collection values():获取集合中所有值的集合

5:长度功能

        int size():返回集合中的键值对的对数

Map遍历是需要用set接收:

Map<Integer, String> map=new TreeMap<>();
        map.put(1, "one");
        map.put(3, "two");
        map.put(2, "three");
        System.out.println(map);
        
        Set<Integer> s=new LinkedHashSet<>();
        Random random=new Random();
        while (s.size()<10) {
            int a=random.nextInt(20)+1;
            s.add(a);
        }
        System.out.println(s);

Collections:

        Collections是针对集合进行操作的工具类,都是静态方法。

主要方法:

1.void sort(List list):排序 默认情况下是自然顺序。

2.int binarySearch(List list,T key):二分查找

3.T max(Collection coll):最大值

4.void reverse(List list):反转

5.void shuffle(List list):随机置换

List和Map的区别:

一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数 据是有顺序,并且允许重复;Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值