三大集合--Map集合 -- 详细完整加案例分析

简介: 三大集合--Map集合 -- 详细完整加案例分析

一.Map集合的特点

  • 是采用键值对的形式储存
  • map集合不继承collection接口(而list集合和set集合继承,这也是其与二者的区    别之一)
  • map集合的遍历方式

            1.   entrySet

            2.   KeySet

      首先是集合都有的特点增删改查

        注意:修改在本质上是覆盖

      查询有两种遍历方式,分别是 entrySet 和 KeySet

        再第二种entrySet 方式中,如果没有加泛型则需要强转

输出结果为:

 

二.案例+步骤

(给一串数字/字符,统计出现相同的数字/字符,有多少个)

步骤:

  1. 先获取所给定的所有字符串/数字
  2. 定义一个Map集合来保存数据
  3. 将字符进行遍历
  4. 字符作为Map集合的Key,然后再Map集合中找该Key对应的值是否存在   ,  如果存在则Key对应的值就加 1 进行覆盖,如果不存在则就默认为 1
  5. 遍历Map集合

最后输出结果为:

三.泛型(用求奇数/偶数来举例)

泛型就是起到一个限制作用,其规定了该集合中保存的数据类型,它最大的好处就是将运行产生的异常转变为编译时的报错,提高了工作的效率和代码的健壮性

3.1举例

3.1.1.首先,不用泛型

 

它不会报错,但会在运行是产生异常(String类型不能转变成Integer类型)

3.1.2.其次:是用泛型

 

可以看到,其再运行是则已报错!!!

3.2泛型的运用场景

在我们三层架构中,我们可以应用泛型来减少我们的代码量

 

在我们俩个类都要继承YZcommon时为了区分,则采用泛型

class YZcommon<T> {
    public List<T> del(T t) {
      System.out.println(123);
      return null;
    }
  }
  class User {
  }
  class YinZi {
  }
  class userDao extends YZcommon<User> {
    public List<User> del(User u) {
      System.out.println(123);
      return null;
    }
  }
  class YinZiDao extends YZcommon<YinZi> {
    public List<YinZi> del(YinZi y) {
      System.out.println(123);
      return null;
    }
  }

四.集合框架工具类(排序)

  • Arrays
  • Collections

4.1 Arrays

 

4.2 Collections

      4.2.1  第一种方法(简单字符串排序)

        4.2.2  第二种(对象多条件排序)

第二种就比第一种要好一些,它跟Set集合的TreeSet 比较器排序差不多

相关文章
|
2月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
2月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
26天前
|
存储 分布式计算 Java
Stream很好,Map很酷,但答应我别用toMap():Java开发中的高效集合操作
在Java的世界里,Stream API和Map集合无疑是两大强大的工具,它们极大地简化了数据处理和集合操作的复杂度。然而,在享受这些便利的同时,我们也应当警惕一些潜在的陷阱,尤其是当Stream与Map结合使用时。本文将深入探讨Stream与Map的优雅用法,并特别指出在使用toMap()方法时需要注意的问题,旨在帮助大家在工作中更高效、更安全地使用这些技术。
33 0
域对象共享数据model、modelAndView、map、mapModel、request。从源码角度分析
这篇文章详细解释了在IntelliJ IDEA中如何使用Mute Breakpoints功能来快速跳过程序中的后续断点,并展示了如何一键清空所有设置的断点。
域对象共享数据model、modelAndView、map、mapModel、request。从源码角度分析
|
3月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
3月前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。
|
3月前
|
算法 Java 索引
【Java集合类面试四】、 描述一下Map put的过程
这篇文章详细描述了HashMap中put操作的过程,包括首次扩容、计算索引、插入数据以及链表转红黑树和可能的再次扩容。
【Java集合类面试四】、 描述一下Map put的过程
|
3月前
|
存储
|
3月前
|
安全 Java
【Java集合类面试五】、 如何得到一个线程安全的Map?
如何得到一个线程安全的Map的方法包括:使用Collections工具类将Map包装为线程安全,使用java.util.concurrent包下的ConcurrentHashMap,以及不推荐使用性能较差的Hashtable。
|
3月前
|
安全 Java
【Java集合类面试三】、Map接口有哪些实现类?
这篇文章介绍了Java中Map接口的几种常用实现类:HashMap、LinkedHashMap、TreeMap和ConcurrentHashMap,以及它们适用的不同场景和线程安全性。