导航:首页 > 编程语言 > javalist中map

javalist中map

发布时间:2023-03-21 05:52:37

1. java的List集合里面放了Map,List<Map<String,Object>>,如何判定人名相同,就组合成一个对象

受楼上两位老哥启发,代码如下


public class Test2 {
public static void main(String[] args) {
Map<String, String> map1 = new MyMap<>();
map1.put("name", "张三");
map1.put("公司", "腾讯");
Map<String, String> map2 = new MyMap<>();
map2.put("name", "李四");
map2.put("公司", "阿里");
Map<String, String> map3 = new MyMap<>();
map3.put("name", "王五");
map3.put("公司", "网络");
Map<String, String> map4 = new MyMap<>();
map4.put("name", "哈哈哈");
map4.put("公司", "嘿嘿嘿");
Map<String, String> map5 = new MyMap<>();
map5.put("name", "张三");
map5.put("地址", "四川");
Map<String, String> map6 = new MyMap<>();
map6.put("name", "李四");
map6.put("地址", "湖南");
Map<String, String> map7 = new MyMap<>();
map7.put("name", "王五");
map7.put("地址", "广东");

List<Map<String, String>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
list.add(map5);
list.add(map6);
list.add(map7);
//lambda遍历输出
list.forEach(map -> System.out.println(map.toString()));
System.out.println("==========================");

Map<String, String> m1;
Map<String, String> m2;
/* 遍历方式:
* 将集合中当前元素m1与它后一个元素m2比较,若name相同,则将m2中的内容put到m1中,同时删除m2
* 指针j向右偏移一位,重复上一步,直至所有元素都作为m1过一次
* */
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i; j < list.size() - 1; j++) {
m1 = list.get(i);
m2 = list.get(j + 1);
//若m1与m2的name相同
if (m1.equals(m2)) {
//则将m2中的内容put到m1中
m2.forEach(m1::put);//lambda遍历
//删除m2
list.remove(j + 1);
}
}
}
System.out.println("==========================");
//lambda遍历输出
list.forEach(map -> System.out.println(map.toString()));
}

@SuppressWarnings("unchecked")
static class MyMap<K, V> extends LinkedHashMap<K, V> {
/**
* 重写equals方法,this为m1,o为m2
* 这里其实需要instanceof来检查泛型的,但是我不会使用instanceof来检查泛型,
* 不能直接使用if ( o instanceof LinkedHashMap<String, String>),这样是
* 编译失败的,所以我没办法只能用try弄一下
*
* @param o m2
* @return 若m1与m2的name相同,返回true
*/
@Override
public final boolean equals(Object o) {
if (o == this)
return true;
try {
LinkedHashMap<String, String> map = (LinkedHashMap<String, String>) o;
if (this.get("name").equals(map.get("name"))) {
return true;
}
} catch (ClassCastException e) {
e.printStackTrace();
}
return false;
}
}
}


我怕代码挤在一起,截图给你:

2. JAVA中的List里的Map 如何去除重复的Key

“可以利用Map的key不重复特性: 遍历List,遍历过程中将List中取出的值作为key保存到一个临时的Map中,Map的value可以自己随意设定。 注意,在保存到Map之前,使用map.get("key")从Map中获取对应是数据,判断是否为null即可判断该List中的值是否...”

3. java List<map>赋值的问题

List<Map<String,String>>finishMapList=newArrayList<Map<String,String>>();
Map<String,String>map=newHashMap<String,String>();
map.put("key","A");
map.put("key","A");
finishMapList.add(map);

map=newHashMap<String,String>();//map要重新new不然还是上一个map
map.put("key","B");
map.put("key","B");
finishMapList.add(map);
model.addAttribute("finishMapList",finishMapList);
return"rm/riskmanager/isfinishtreatment";

}

map要重新new不然还是上一个map.

map.put("key", "B");其实是在修改map中的内容不是新的

不知道这样说你明不明白

不明白就继续问吧

4. 关于java的集合,在list集合中添加map集合

Java中的复集合包括三大类,它们是制Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。

5. 在List中存放了一个map,怎么在java后台获取这个List中map中的值

LIST 是以数组形式存储的 map是以key-value形祥闹局式
Map map =(Map)list.get(i);
取到了map 在从谨让map里面get(key)就行了弯启
key是你当初存放在map里面的关键字

6. java的List<Map>用法

//存放所有学生信息
List<Map<String,Object>> listStudentInfo=new ArrayList<Map<String,Object>>();
//定义学生1的一些属性

Map<String,Object> stu1=new HashMap<String, Object>();
stu1.put("sId", 111);//学号
stu1.put("sName", "张三");//姓名
stu1.put("sSex", "男");//性别
listStudentInfo.add(stu1);

//定义学生2的一些属性
Map<String,Object> stu2=new HashMap<String, Object>();
stu2.put("sId", 112);//学号
stu2.put("sName", "李四");//姓名
stu2.put("sSex", "女");//性别
listStudentInfo.add(stu2);
//得到所有学生信息
for( Map<String,Object> stu:listStudentInfo)
{
System.out.println("学号:"+stu.get("sId")+" 姓名:"+stu.get("sName")+" 性别:"+stu.get("sSex"));
}

7. java中,下面的List怎么放入map里面,求高手!

你首先要了解什么是Map,可以理解为Map是一堆key和value的映射集合(或者说一堆键值对的集合)。
List list = new ArrayList();
Map map = new HashMap();
list.add("a");
list.add("c");
list.add("b");
for(int i =0;i<list.size();i++){
map.put(i, list.get(i));
}
然后你要用Map里的东册物西,可以使用map.get(1)这种形式获取,他和list.get(1);
相等都为“c”。
另外建议初始化Map和List的时候,定义好薯含所存的数据数姿笑类型。
List<String>
list
=
new
ArrayList<String>();
Map<Integer,
String>
map
=
new
HashMap<Integer,
String>();

阅读全文

与javalist中map相关的资料

热点内容
为什么u盘读有些文件读取不出来 浏览:485
linux内核体系架构 浏览:758
java高低字节 浏览:105
win10安全模式也死机 浏览:159
最简单的数据库开发软件 浏览:718
迅雷下载网络断开 浏览:792
考勤系统数据库在哪个文件夹 浏览:134
creo30绘图配置文件设置 浏览:624
苹果ID被锁要交600元交不交 浏览:29
实例化module配置文件失败 浏览:872
网站源码是什么东西 浏览:90
怎样打开桌面隐藏文件 浏览:904
拯救者的颜色配置文件 浏览:860
微信转发朋友圈送礼品 浏览:905
新电脑装win10教程 浏览:130
linux文件执行授权 浏览:618
微信文件如何删除重新打开 浏览:897
删了他微信他又来加 浏览:283
苹果备忘录文件夹备份 浏览:233
手机查看db文件 浏览:248

友情链接