Java学习笔记(十三) ---- 集合

一、Map

1.Map接口概述
Map  双列集合
     键(key)  值(value)
     一个键 映射到一个值
     键是不可以重复的,值可以重复

2.方法应用

Map接口部分常用方法应用如下

public static void main(String[] args) {
        HashMap<String,String> map = new HashMap<>();
        map.put("a","a");
        map.put("x","b");
        map.put("h","b");
        map.put("c","b");
        map.put("b","b");
        map.put(null,"b");

        System.out.println(map.put("c","c"));//向map中添加键和对应的值,并返回所存在重复键的值,没有重复返回null
        System.out.println(map.remove("c"));//根据键删除键值映射,返回值
//      map.clear();清空

        System.out.println(map.containsKey("c"));//查找是否有c键
        System.out.println(map.containsValue("b"));//查找是否有b值
        System.out.println(map.isEmpty());//判断是否为空

        System.out.println(map.size());//获取长度
        System.out.println(map.get("6"));//获取x键对应的值

        Collection<String> values = map.values();//获取所有值
        Set<String> keySet = map.keySet();//获取所有键

        System.out.println(keySet);
        System.out.println(values);

        System.out.println(map);
    }
3.HashMap、TreeMap与HashTable的特点
HashMap
    key值不能重复,键是无序的,允许出现一个为null的键
TreeMap
    可以根据键进行排序
    键的类型必须要实现Comparable接口,提供排序方法
Hashtable
    键值对,键不能重复,值可以重复,键是无序的,不能存储为null的键
4.遍历
方式1:根据键找值
 获取所有键的集合
 遍历键的集合,获取到每一个键
 根据键找值
方式2:根据键值对对象找键和值
 获取所有键值对对象的集合
 遍历键值对对象的集合,获取到每一个键值对对象
 根据键值对对象找键和值

二、Collections类

Collections是集合类的工具类,与数组的工具类Arrays类似

部分方法应用如下

public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        ArrayList<Integer> arrayList1 = new ArrayList<>();
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList1.add(10);
        arrayList.add(2);
        arrayList.add(1);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(5);
        arrayList.add(6);
        arrayList.add(7);
        arrayList.add(8);
        arrayList.add(9);
        arrayList.add(10);
        System.out.println(Collections.binarySearch(arrayList, 5));

        Collections.sort(arrayList);
//        Collections.sort(arrayList,{});
        System.out.println(arrayList);

        Collections.swap(arrayList,0,1);
        System.out.println(arrayList);

        Collections.copy(arrayList1,arrayList);
        System.out.println(arrayList);
        System.out.println(arrayList1);

        Collections.addAll(arrayList,50,60,70);
        System.out.println(arrayList);

        List list = Collections.emptyList();

        Collections.fill(arrayList1,1);
        System.out.println(arrayList1);

        System.out.println(Collections.max(arrayList));
        System.out.println(Collections.min(arrayList));

        Collections.replaceAll(arrayList1,1,6);
        System.out.println(arrayList1);

        Collections.reverse(arrayList);
        System.out.println(arrayList);

        Collections.shuffle(arrayList);
        System.out.println(arrayList);
    }

int...b可变长度的参数
        本质是数组
        一个参数列表中只能出现一个可变长度的参数
        可变长度的参数必须放在参数列表的末尾

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值