JAVA集合框架Collection、Map

参考文章

Java集合大致可以分为Set、List、Queue和Map四种体系:

Set无序、不可重复的集合
List有序、重复的集合
Map具有映射关系的集合
Queue队列集合

注:
1)集合可以保存数量不确定的数据
2)集合可以保存具有映射关系的数据(即关联数组,键值对 key-value)
3)集合只能保存对象(实际上只是保存对象的引用变量),基本数据类型的变量要转换成对应的包装类才能放入集合类中

1、 Java的集合类主要由两个接口派生而出:Collection和Map

1)Collection集合
在这里插入图片描述
其中,TreeSet、HashSet、LinkedList、ArrayList是常用的已实现集合类

2)Map集合
Map实现类用于保存具有映射关系的数据。
Map保存的每项数据都是key-value对。
Map里的key是不可重复的。
在这里插入图片描述
其中,TreeMap、HashMap是常用的已实现集合类

2、用法示例

1)TreeSet

2)HashSet

3)LinkedList

4)ArrayList
· 实现了List接口的,底层采用数组实现。
· 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
· 实现了java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。

在这里插入代码片

5)TreeMap

6)HashMap

		//创建
        HashMap<String, PersonEntity> personEntityHashMap = new HashMap<>();

        //存值
        personEntityHashMap.put("zlz", zlz);
        personEntityHashMap.put("zyc", zyc);

        //取值(根据key)
        PersonEntity p1 = personEntityHashMap.get("zlz");
        PersonEntity p2 = personEntityHashMap.get("zyc");

        //判空
        if (personEntityHashMap.isEmpty()) {
            Log.i("TAG", "HashMap is empty !");
        }

        //判断HashMap中是否含有该key的对象
        if (personEntityHashMap.containsKey("zlz")) {
            Log.i("TAG", "zlz exists !");
        }

        //判断HashMap中是否含有该value的对象
        if (personEntityHashMap.containsValue(zyc)) {
            Log.i("TAG", "zyc exists !");
        }

        //遍历key
        for (String key : personEntityHashMap.keySet()) {
            Log.i("TAG", "key : " + key);
        }

        //遍历value
        for (PersonEntity value : personEntityHashMap.values()) {
            Log.i("TAG", "value : " + value);
        }

        //遍历map
        for (Map.Entry<String, PersonEntity> entry : personEntityHashMap.entrySet()) {
            Log.i("TAG", "map : " + entry.getKey() + ", " + entry.getValue());
        }

        //获取haspMap元素个数
        int elementCnt = personEntityHashMap.size();

        //hashMap的复制
        HashMap<String, PersonEntity> personEntityHashMap1 = new HashMap<>();
        personEntityHashMap1.putAll(personEntityHashMap);

        //删除指定key的元素
        personEntityHashMap1.remove("zlz");

        //清空hashMap
        personEntityHashMap1.clear();

        //如果当前hashMap不存在该key或该key关联的value==null,则执行put();否则不执行
        personEntityHashMap1.putIfAbsent("zlz", zlz);
        personEntityHashMap.putIfAbsent("zlz", zlz);
        

HashMap的compute()
HashMap的compare()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KillerNoBlood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值