java题:把一个map放在list里,怎样再把它拿出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java题:把一个map放在list里,怎样再把它拿出来相关的知识,希望对你有一定的参考价值。

1.Map<>m=list.get(i);
2.用迭代器Iterator
3.如果不知道是哪一个的话循环遍历list。
4.你丫的map本来就是容器而且比list高级不少,为啥放到list里,你的list到底是自定义的还是Linkedlist还是ArrayList。在我看来把map放到list中本身就不可取,你的结构有问题,重新想更好的结构。
参考技术A 迭代list 元素为

public static void iteratormap (Map<String,String> map)
//获取map的key集合
Set<String> keyset = map.keySet();
Iterator it=keyset.iterator();
while(it.hasNext())
String key = (String) it.next();
String value = map.get(key);
System.out.println(key+" "+value+"iteratormap function" );

追问

怎么把map从list里拿出来,是先拿出来map再拿它的值

java 怎样判断一个list里是不是有一个对象(object)?

比如,我输入一个string, "abc", 怎样判断list里是否有abc这个对象?

1 中自定义,遍历List直到找到对象即可,但List中的对象需要自定义equals方法,即可以与其他对象比较,在什么情况下相同。如满意回答。
2 但上述方法具有特定性,另外还有一些思路,

保证list中的对象是可排序的,即实现了Comparable接口功能
如果list没有排序,则可以使用Collecitons类对集合类,不是Map进行操作
如Collections.sort(List),可以进行先排序
然后 利用Collections中的binarySearch方法,找到对象所在下标
int index = Collections.binarySearch(list)
如果index <0,则表示没有该对象,如果index >=0,则表示该对象在list中的位置下标,因此,这里面我们不需要直接取出对象判断,主要看Comparable接口如何实现
String已经实现了equals和comparable接口的方法
所以可以直接使用上诉功能,进行判断,而不用一一遍历。
参考技术A contains(Object o)
如果列表包含指定的元素,则返回 true。
System.out.println(a.contains("abc"));
参考技术B 你看下这样行不

List list=new ArrayList();
list.add("abc");
for (int i = 0; i < list.size(); i++)
if("abc".equals(list.get(i)))
System.out.println("存在abc对象");

本回答被提问者和网友采纳
参考技术C list.contains(object) 返回true or false 参考技术D 用compareTo

以上是关于java题:把一个map放在list里,怎样再把它拿出来的主要内容,如果未能解决你的问题,请参考以下文章

一个关于java的问题,把对象存Map里,再把Map存List里,怎么取出全部,我只取出最后一个,是否覆盖了?

java for循环 怎样把一个list里相同的数据放到一起

java用map把list中首字母相同的单词放在一起

从list列表中以空格读取字符串 .java

把List 中的内容放到一个Map 中

java里移除string里字母的问题