准备数据

  /**    结构示意图:
  类型: List集合    map对象    LIst集合   Person类对象 String name ; int age     mList -> map() ->pList     ->Person p1 坤哥 24
         ->Person p2 鲲哥 104
        ->pList2
          ->Person ps1 王小三 24
          ->Person ps2 王小二 24
     -> map2()
        ->pList3
         ->Person pr1 张咪咪 19
          ->Person pr2 赵咪咪 21
       - >pList4
          ->Person pd1 谢广坤 54
          ->Person pd2 赵四 56  (可能是吧)
*/

Map所需包 (只限JSTL中)

java.util.HashMap

java.util.Map

常 见 Map 指 令 清 单

1. 创建map

Map<String,List<Person>> map = new HashMap<String,List<Person>>();
List<Map<String,List<Person>>> mList = new ArrayList<Map<String,List<Person>>>();

其实结构确实不难的。(O - O)```

2. map添加数据

map.put("谢广坤",54)

3. 获取key

map.keySet()   和   map.entrySet()

本处用keySet()。因为我菜,用entrySet()遍历的数据不太正常,哪天解决了再写吧。

4. 获取value

map.values()   注意 ‘ s ’

我 的 主 要 代 码

1. 数据准备

//以谢广坤为例
List<Person> pList4 = new ArrayList<Person>();
Person pd1 = new Person("谢广坤",54);
Person pd2 = new Person("赵四",56);
pList4.add(pd1);pList4.add(pd2);
//。。。
Map<String,List<Person>> map2 = new HashMap<String,List<Person>>();
map2.put("pList4",pList4);
//。。。
List<Map<String,List<Person>>> mList = new ArrayList<Map<String,List<Person>>>();
mList.add(map2);

2. 输出所有数据

<c:forEach items="${mList}" var="m" varStatus="id">
<h2>第${id.count}个map</h2>
<c:forEach items="${m.keySet()}" var="k">
<h3>List的名字是:<c:out value="${k}"></c:out></h3>
<c:forEach items="${m.values()}" var="l">
<c:forEach items="${l}" var="p">
<table border="1px dotted blue">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td>${p.name}</td>
<td>${p.age}</td>
</tr>
</table>
<br>
</c:forEach>
</c:forEach>
</c:forEach>
</c:forEach>

3. 输出年龄大于50的乡村爱情人物

<c:forEach items="${mList}" var="m">
<c:forEach items="${m.values()}" var="l">
<c:forEach items="${l}" var="p">
<c:if test="${p.age>50}">
<table border="2px dotted blue">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td>${p.name}</td>
<td>${p.age}</td>
</tr>
</table>
</c:if>
</c:forEach>
</c:forEach>
</c:forEach>

结 果 样 子

大概就是这个样子

java map在JSTL EL中的小应用--<c:forEach>遍历Map<>泛型的更多相关文章

  1. Java实现 LeetCode 671 二叉树中第二小的节点(遍历树)

    671. 二叉树中第二小的节点 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0.如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值. 给出这样的 ...

  2. 在JSTL EL中处理java.util.Map,及嵌套List的情况

    关联的键查找存储在映射中的值. 在方括号中指定键,并将相应的值作为表达式的值返回.例如,表达式 ${map['key']} 返回与 map标识符所引用的 Map 中的 "key" ...

  3. java 11-8 在大串中查找小串的案例

    1.统计大串中小串出现的次数 举例: 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun& ...

  4. js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历

     indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...

  5. 空数组在以下三种遍历中均不可更改:forEach、map和for...in

    首先,我们要知道对于forEach.map和for...in三种遍历,在不是空数组的情况下,要想实现更改原数组的方法,代码如下: var list = [1,2,3,4]; var list1 = [ ...

  6. 【java】TreeMap/HashMap的循环迭代中 keySet和entrySet和forEach方式 + map的几种迭代方式

    参考链接:https://www.cnblogs.com/crazyacking/p/5573528.html ================================== java紫色代表迭 ...

  7. 获取map中的一个value值以及遍历map获得map里所有key、value的值

    前言: 1.声明一个map: Map map = new HashMap();2.向map中放值,注意:map是key-value的形式存放的.如: map.put(”sa”,”dd”); 3.从ma ...

  8. ES6中变量解构的用途—遍历Map结构

  9. 谈谈java中遍历Map的几种方法

    java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public ...

随机推荐

  1. int main (int argc, const char * argv[0]) 中参数的含义;指针数组和数组指针

    恩,有的编译器初始化时候会产生这样的参数 argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名 1. 几种C++ 常见的参数种类 int main(void); in ...

  2. Python的特有的参数传递(*和**)

    目录 值传递 引用传递 python的传递方式具有两种值传递和引用传递.除此之外,python中还允许包裹方式的参数传递,这未不确定参数个数和参数类型的函数调用提供了基础: 值传递 int.float ...

  3. VMware中linux虚拟机的安装

    打开安装的VMware 15,点击新建虚拟机 2.选择典型即可,点击下一步 3.选择“稍后安装操作系统”,点击下一步 4.选择想安的版本,点击下一步 5.设置虚拟机名称及安装位置(路径必须全英文!) ...

  4. 能不能自己写个类,也叫java.lang.String?

    可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String.由于在tomcat的web应用程序中,都是由webapp自 ...

  5. 谈一谈个人利用Java的mysql的知识完成的数据库的项目-----用户信息管理系统

    首先,我先简述一下自己做的过程啊,相信大家来找这样的博客,也都是为了完成自己课程任务吧.我也一样是一名大一的学生,是为了自己的课程任务而开始做数据库的项目的.因为还没学mysql吗,所以是自己找视频啊 ...

  6. java.security.NoSuchProviderException: no such provider: BC 的问题解决

    第一种方式 1.修改以下两个文件 %JDK_Home%\jre\lib\security\java.security %JRE_Home%\jre\lib\security\java.security ...

  7. Blazor 版 Bootstrap Admin 通用后台权限管理框架

    前言 上一篇介绍过了前后台分离的 NET Core 通用权限管理系统 在这篇文章简要的介绍了 Bootstrap Admin 后台管理框架的一些功能.本篇文章带来的是微软最新出的 Blazor 版本的 ...

  8. Python的Requests库基本方法函数

    一.Requests 库的七个常用函数: 1. requests.request(method,url,**kwargs) :method:请求方式,对应get/put/post等七种 :拟获取页面的 ...

  9. HDU2255 奔小康赚小钱钱(二分图-最大带权匹配)

    传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子. 这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百姓没房子 ...

  10. HDU-1754 A - I Hate It

    很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有 ...