Java案例分享-集合嵌套

一、需求:创建一个ArrayList集合,存储三个元素,每一个元素都是HashMap,每一个HashMap的键和值都是String,并遍历

分析:

  • 1.创建一个ArrayList集合
  • 2.创建一个HashMap集合键和值都是String
  • 3.将HashMap作为元素添加到ArrayList中
  • 4.遍历
public static void main(String[] args) {
        //创建ArrayList集合
        ArrayList<HashMap<String,String>> al=new ArrayList<HashMap<String,String>>();
        //创建HashMap集合
        HashMap<String,String>hm=new HashMap<String,String>();
        //添加键值对
        hm.put("01","张三");
        hm.put("03","王五");
        hm.put("02","李四");
        //创建HashMap集合
        HashMap<String,String>hm1=new HashMap<String,String>();
        //添加键值对
        hm1.put("05","张");
        hm1.put("04","王");
        hm1.put("07","李");
        //将HashMap放入ArrList中
        al.add(hm);
        al.add(hm1);
        //遍历
        for (HashMap<String,String> ss : al) {
            //内层依旧是HashMap的遍历方法
            Set<String> key = ss.keySet();
            for (String key1 : key) {
                String value = ss.get(key1);
                System.out.println(key1 + "," + value);
            }
        }
    }

二、需求:创建一个HashMap集合,存储三个键值对元素,每一个键值对元素的键都是String,值是ArrayList

分析:

  • 1.创建HashMap集合,键是String,值是ArrayList
  • 2.创建ArrayList集合并添加元素
  • 3.将ArrayList作为值添加到HashMap集合中
  • 4.遍历HashMap集合
public class HashMapInculdingArrayLis {
    public static void main(String[] args) {
        //创建HashMap集合
        HashMap<String, ArrayList<String>> hm=new HashMap<String, ArrayList<String>>();
        //创建ArrayList集合对象
        ArrayList<String> al=new ArrayList<String>();
        al.add("张三");
        ArrayList<String> al1=new ArrayList<String>();
        ArrayList<String> al2=new ArrayList<String>();
        al2.add("王五");
        al1.add("李四");
        hm.put("01",al);
        hm.put("02",al1);
        hm.put("03",al2);
        //遍历
       Set<String>keySet =hm.keySet();
       for (String key:keySet){
           System.out.print(key+",");
           ArrayList<String> strings = hm.get(key);
           for (String value:strings){
               System.out.println(value);
           }
       }
    }
}

到此这篇关于Java案例分享-集合嵌套的文章就介绍到这了,更多相关Java集合嵌套内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java案例之HashMap集合存储学生对象并遍历

    一.需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储三个键值对元素,并遍历 分析: 1.定义学生类 2.创建HashMap集合对象 3.创建学生对象 4把学生添加到集合中 5.遍历集合 public class StudentDemo {   public static void main(String[] args) {       //创建Map集合对象       Map<String,Student> m=new HashMap<S

  • Java 详解Map集合之HashMap和TreeMap

    目录 HashMap 创建HashMap 添加元素 访问元素 删除元素 TreeMap 创建TreeMap 添加元素 访问元素 删除元素 HashMap.TreeMap区别 Map接口储存一组成对的键-值对象,提供key(键)到value(值)的映射,Map中的key不要求有序,不允许重复.value同样不要求有序,但可以重复.最常见的Map实现类是HashMap,他的储存方式是哈希表,优点是查询指定元素效率高. Map接口被HashMap和TreeMap两个类实现. HashMap HashM

  • Java优化for循环嵌套的高效率方法

    前几天有人问过我一个问题,就是两个嵌套for循环执行效率的问题,问有什么好的办法替换.当时我想了想,实在想不起来,哎,惭愧!!! 请教了答案,恍然大悟. 比如:两个list中分别装有相同的对象数据. list1中有3万条对象数据. list2中有2万条对象数据(但是对象中的某个属性变量为空).两个list中的id或者其他变量都一模一样.请用最快的方式找出list2中变量为空的那个对象,并且去list1中找出id相同的对象. 或者可以理解成,从list2中找出变量为空的,去list1中找出对应的对

  • Java基础必学TreeSet集合

    一.特点 1.元素有序,这里的顺序不是指的存储和取出的顺序,而是按照一定规则进行排序,具体排序方法要看构造方法 TreeSet():无参构造,根据元素的自然顺序排序也就是从小到大的排序方式进行排序 TreeSet(Comparator comparator):带参构造,根据指定的比较器进行排序 2.没有带索引的方法,所以不能使用for循环,可以使用增强for循环或者迭代器 3.由于是Set集合,所以是不包含重复元素的集合 使用无参构造进行存储数据并遍历练习: public class TreeS

  • Java 多层嵌套JSON类型数据全面解析

    目录 多层嵌套JSON类型数据解析 以下举例数据结构 解析代码 json解析多层嵌套并转为对应类(List) Json(随便扒的格式,将就看~) 关键依赖 JAVABEAN转JSONObject 多层嵌套JSON类型数据解析 简单来说: “key”:“value” --> 此时value为String“key":0 --> 此时value为int“key”:{“k1”:“v1”} --> 此时value为JSONObject“key”:[v] --> 此时value为JS

  • Java if-else 多重嵌套的优化方式

    目录 if-else多重嵌套的优化 1. if-else 多重嵌套的问题 2. 解决方案 2.1 使用Map缓存 2.2 switch 简化条件 多个ifelse语句的替代设计 案例研究 重构 工厂模式 使用枚举 命令模式 规则引擎 小结 if-else多重嵌套的优化 1. if-else 多重嵌套的问题 项目重构发现代码中存在类似以下的三重 if-else 嵌套代码,其中变量 a.b.c有三种可能的取值,组合起来共有27 个分支,这还没有算上对各个变量进行合法性校验失败的分支. 如此繁杂琐碎的

  • java8如何根据某一属性条件快速筛选list中的集合

    目录 根据某一属性条件快速筛选list中的集合 1.创建个Student对象 2.编写测试类 list 根据实体属性搜索 代码 测试 根据某一属性条件快速筛选list中的集合 1.创建个Student对象 public class Student { private String name;//姓名 private Integer age;//年龄 private int sex;//性别 private String professional;//专业 public String getNam

  • java lambda循环_使用Java 8 Lambda简化嵌套循环操作

    java lambda循环 对于每个经常需要在Java 8(或更高版本)中使用多维数组的人来说,这只是一个快速技巧. 在这种情况下,您可能经常会以类似于以下代码的结尾: float[][] values = ... for (int i = 0; i < values.length; i++) { for (int k = 0; k < values[i].length; k++) { float value = values[i][k]; // do something with i, k

  • Java基础Map集合详析

    目录 一.概述 二.创建Map集合的对象方式 四.Map的获取方法 五.Map集合的遍历方式 方式一: 方式二: 一.概述 Interface Map k:键的类型:V:值的类型 将键映射到值的对象:不能包含重复的键:每个键可以映射到最多一个值 二.创建Map集合的对象方式 1.使用多态的方式 2.具体实现类HashMap public static void main(String[] args) {       //创建Map集合对象       Map<String,String> m=

  • Java案例分享-集合嵌套

    一.需求:创建一个ArrayList集合,存储三个元素,每一个元素都是HashMap,每一个HashMap的键和值都是String,并遍历 分析: 1.创建一个ArrayList集合 2.创建一个HashMap集合键和值都是String 3.将HashMap作为元素添加到ArrayList中 4.遍历 public static void main(String[] args) {       //创建ArrayList集合       ArrayList<HashMap<String,Str

  • Java案例使用集合方法实现统计任意字符串中字符出现的次数

    需求:键盘录入一个字符串,统计其中各个字符出现的顺序 分析: 1.使用Scanner类获取一个字符串 2.创建HashMap集合,如果追求统计字符的美观性,可以使用TreeMap 3.遍历字符串得到每一个字符并将其作为TreeMap的键 4.通过键去集合中找相对应的值,看返回值是什么? 返回null:说明该字符在集合中不存在,就将该字符为键,次数1为值进行存储 返回的不是null:说明该字符在集合中存在,就再次将该字符作为键,次数+1为值进行存储 5.遍历集合 public class Tree

  • Java中的SPI机制案例分享

    目录 1 简单介绍 2 SPI 案例 3 SPI 的原理剖析 1 简单介绍 当我们封装了一套接口,其它项目想要调用我们的接口只需要引入我们写好的包,但是其它项目如果想要对我们的接口进行扩展,由于接口是被封装在依赖包中的,想要扩展并不容易,这时就需要依赖于Java为我们提供的SPI机制. SPI的全称是Service Provider Interface,服务提供者接口,而与之最接近的概念就是API,全称Application Programming Interface,应用程序编程接口.那么这两

  • 集合嵌套之ArrayList嵌套ArrayList实例

    如下所示: import java.util.ArrayList; import com.heima.bean.Person; public class Demo5_ArrayListArrayList { /* * 集合嵌套之ArrayList嵌套ArrayList 案例:一个学校有好多班级,一个班级又有好多人;遍历输出这个学校的所有人 */ public static void main(String[] args) { ArrayList<ArrayList<Person>>

  • Java中Map集合中的Entry对象用法

    Entry: 键值对 对象. 在Map类设计是,提供了一个嵌套接口(static修饰的接口):Entry.Entry将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值. Entry为什么是静态的? Entry是Map接口中提供的一个静态内部嵌套接口,修饰为静态可以通过类名调用. Map集合遍历键值对的方式: Set<Map.Entry<K,V>> entrySet(); //返回此映射中包含的映射

  • 浅谈java中对集合对象list的几种循环访问

    java中对集合对象list的几种循环访问的总结如下  1 经典的for循环 public static void main(String[] args) { List<String> list = new ArrayList(); list.add("123"); list.add("java"); list.add("j2ee"); System.out.println("=========经典的for循环=======

  • java的Map集合中按value值进行排序输出的实例代码

    java的Map集合中按value值进行排序输出的实例代码 import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test { public static void main(String[] args) { Map<String ,Integer> map = new Has

  • 深入剖析java中的集合框架

    解析:如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,那么可以使用Java集合框架. 如果启用集合的删除方法,那么集合中所有元素的索引会自动维护. 集合完全弥补了数组的缺陷. 02.集合框架的内容 集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法 01.接口:表示集合的抽象数据类型 02.实现:集合框架中接口的具体实现 03.算法:在一个实现了某个集合框架的接口的对象身上完成某种有用的计算方法 java集合框架简图: 01.Collection接口存在储存一组

随机推荐