Collections工具类与Map集合

一:是一个用来操作集合的工具类。

二:Collections提供的常用静态方法

addAll(collection<? super T> c,T... element) 给集合批量添加元素

shuffle(List<?> list) 打乱List集合中的元素顺序

sort(List<?> list) 对List集合中的元素进行升序排序

sort(List<?> list,Comparator<? super T> c) 对List集合中元素,按照比较器对象指定的规则进行排序

注意:Collections只能支持对List集合进行排序

3.示例:

import java.util.*;

public class CollectionsTest {
    public static void main(String[] args) {
        List<Integer> a = new ArrayList<>();

        Collections.addAll(a, 123, 4561, 123, 14, 547, 56);//给集合批量添加元素

        Collections.shuffle(a);//打乱List集合中的元素顺序
        System.out.println(a);

        List<Student> s = new ArrayList<>();
        s.add(new Student("丁云珠",28,171));
        s.add(new Student("李鹤声",64,173));
        s.add(new Student("张云玉",33,169));
        s.add(new Student("张军伟",34,172));
        s.add(new Student("郑恩艳",30,170));
        s.add(new Student("王珂",25,164));
        // 使用前必须在对象类中制定一个比较规则否则会报错
        Collections.sort(s);//对List集合中的元素进行升序排序
        System.out.println(s);

        Collections.sort(s, ( o1,  o2) -> Double.compare(o1.getHeight(), o2.getHeight()));//对List集合中元素,按照比较器对象指定的规则进行排序。
        System.out.println(s);

    }
}

---------------------------------------------------------------------------------------------------------------------------------Map集合

一:认识Map集合

1.Map集合称为双集合,格式:{key1=value1,key2=value2,key3=value3,...},一次需要存一对数据作为一个元素。

2.Map集合的每个元素"key=key" 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合”。

3.Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键都只能找到自己对应的值。

4.需要储存一一对应的数据时,就可以考虑使用Map集合来做

二:Map集合体系

1.

2.Map集合体系的特点

注意:Map系列集合的特点都是由键决定的,值只是一个附属品,值是不做要求的

·HashMap(由键决定特点):无序,不重复,无索引;(使用最多)

·LinkedHashMap(由键决定特点):有序,不重复,无索引。

·TreeMap(由键决定特点):按照大小默认升序排序,不重复,无索引。

3.示例:

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

public class MapTest {
    public static void main(String[] args) {
        //            Map<String,Integer> s = new HashMap<>();
        Map<String,Integer> s = new LinkedHashMap<>();

        s.put("java",20);//后面重复的数据会覆盖前面的数据(键)
        s.put("手表", 18888);
        s.put("手表",999);
        s.put("手机", 2999);
        System.out.println(s);

        Map<Integer,String> ss = new TreeMap<>();
        ss.put(55, "Java4");
        ss.put(11, "Java3");
        ss.put(22, "Java2");
        ss.put(55, "Java1");
        System.out.println(ss);
    }
}

三:Map的常用方法

1.先学习Map的常用方法是因为Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。

2.Map的常用方法如下:

put(k key,V value) 添加元素

size() 获取集合的大小

clear() 清空集合

isEmpty() 判断集合是否为空,为空返回true,反之false

get(Object key) 根据键获取对应值

remove(Object key) 根据键删除整个元素

containsKey(Object Key) 判断是否包含某个键

containsValue(Object value) 判断是否包含某个值

keySet() 获取全部键的集合

values() 获取Map集合的全部值

putAll() 把其他同类型Map集合中的数据倾倒入调用该方法的集合中

3.示例:

import java.util.HashMap;
import java.util.Map;

public class MapTest2 {
    public static void main(String[] args) {
        Map<String,Integer> S = new HashMap<>();
        S.put("java",20);
        S.put("手表", 18888);
        S.put("耳机",999);
        S.put("手机", 2999);
        S.put("戒指", 18888);

        S.size();//获取集合大小

        //        S.clear();//清空集合

        S.isEmpty();//判断集合是否为空,为空返回true,反之false

        S.get("手表");//根据键获取对应值

        S.remove("java");//根据键删除整个元素

        S.containsKey("手机");//判断是否包含某个键

        S.containsValue(999);//判断是否包含某个值  

        S.keySet();//获取全部键的集合

        S.values();//获取Map集合的全部值
        
        //扩展:把把其他Map集合中的数据倾倒入自己的集合中去
        Map<Integer,Integer> C1 = new HashMap<>();
        Map<Integer,Integer> C2 = new HashMap<>();
        
        C1.put(12, 12);
        C1.put(13, 13);
        C2.put(14, 14);
        C2.put(15, 15);
        //使用putAll可将同类型的Map集合中的数据相互倾倒
        C1.putAll(C2);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值