❶ java8 怎样将map转换成list
Map与List是两种不同的数据类型,不能直接转换,要说明具体的需求,比如Map中的key和value与List如何对应。
❷ map,set,list和数组之间的转换怎么转换求高手指点下
★ 数组转Collection使用Apache Jakarta Commons Collections:import org.apache.commons.collections.CollectionUtils; String[] strArray = {"aaa", "bbb", "ccc"}; List strList = new ArrayList(); Set strSet = new HashSet(); CollectionUtils.addAll(strList, strArray); CollectionUtils.addAll(strSet, strArray); CollectionUtils.addAll()方法的实现很简单,只是循环使用了Collection的add()方法而已。如果只是想将数组转换成List,可以用JDK中的java.util.Arrays类:import java.util.Arrays; String[] strArray = {"aaa", "bbb", "ccc"}; List strList = Arrays.asList(strArray); 不过Arrays.asList()方法返回的List不能add对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList。★ Collection转数组直接使用Collection的toArray()方法,该方法有两个重载版本:Object[] toArray(); T[] toArray(T[] a); ★ Map转Collection直接使用Map的values()方法。★ List和Set转换List list = new ArrayList(new Hashset());// Fixed-size list
List list = Arrays.asList(array);// Growable
list list = new LinkedList(Arrays.asList(array));// Duplicate elements are discarded
Set set = new HashSet(Arrays.asList(array));
❸ java map对象转换成list
你是仅仅将value值转换成list对象吗?这个简单,如果你想要全部提出来也是可以的。我发代码你。
public
List
mapByList(HashMap
map){
List
list
=
new
ArrayList
();
Set
>
set
=
map.entrySet();
Iterator
>
it
=
set.iterator();
//将map对象里面的属性循环遍历出来
while(it.hasNext()){
Entry
entry
=
it.next();
//得到value值,装到list里面,也可以entry.getKey()。
//如果2个都需要装。可以弄成一个对象来装
list.add(entry.getValue());
}
return
list;
}
差不多就这样。
❹ java用map把list中首字母相同的单词放在一起
可以放在一起的
放在一起的方法有;
1. 先创建一个list集合来存放map对象,然后在创建几个map对象来设置值
2.对map对象进行值的设置,然后把它添加到list中
3.创建一个resultMap的对象用来存最终结果
4.因为map的可以是set集合所以不会重复,就可以这样设置把所以出现在list中map的key值都设置到resultMap对象中初始值为0
5.然后再次重新遍历list中的所以map值与resultMap中对应的map的key相同的值相加,因为上一步对resultMap的初始化所以不会担心key不存在的情况,因此这里就可以实现累加效果
6.最后把resultMap值输出来就可以看到统计结果了。
❺ java map与list 之间的问题
map的存放是无序的,它存放的是键值对,也就是一个键对应一个值,如果该键已经存在(“aa”)那么后来的值会替换掉当前的键所指向的值。这些可以去看下map的API。你当前只生成了一个对象,一个引用也就是map。所以值总是被后来所取代的。而list是有序的,可以想象成一个数组,它允许重复值得出现,也就是说list.add(1),list.add(1)在这个list中是存在两个值的。
当你将new Map置于循环之内时,你生成了4个map对象,每个map对象都有自己的 "aa"键,并且这些map存放到list中,这样你可以得到你想要的结果
❻ java题:把一个map放在list里,怎样再把它拿出来
1.Map<>m=list.get(i);
2.如果不知道是哪一个的话循环遍历list。
3.你丫的map本来就是容器而且比list高级不少,为啥放到list里,你的list到底是自定义的还是Linkedlist还是ArrayList。在我看来把map放到list中本身就不可取,你的结构有问题,重新想更好的结构。
❼ 在java里怎么把hashmap转换成arraylist和iterator
importjava.util.ArrayList;
import
java.util.HashMap;
importjava.util.Iterator;
import
java.util.List;
importjava.util.Map;
publicclassConvertMapToList{
public
staticvoidmain(String[]args){
Mapmap=newHashMap();
map.put("a","a1");
map.put("b",
"b1");
map.put("c",
"c1");
List
listKey=newArrayList();
List
listValue=newArrayList();
Iteratorit=
map.keySet().iterator();
while
(it.hasNext()){
System.out.println(map);
Stringkey=
it.next().toString();
listKey.add(key);
listValue.add(map.get(key));
}
System.out.println("Convert
Finished!");
//outputthecontextofthe
ArrayList
for(inti=0
;i<listKey.size();i++){
System.out.println(listKey);
System.out.print("Key
:"+listKey.get(i));
System.out.println("Value
:"+listValue.get(i));
}
}
}
❽ java中map可以放在list里吗
一个List对象也无非是一个对象,在Map里存取放置都是一种方式,如果你确定取出来的是某类的对象,直接转型就可以了:
List c = (List)b.get("a");
在JDK1.5以上提供了泛型,能够更好地控制类型,减少强行转型的次数。比如我们如果知道这些List里的元素永远是String的话,你就可以写
List<String> a = new ArrayList<String>;
HashMap<String,List<String>> b =new HashMap<String,List<String>>();
b.put("a",a);
...
List<String> c = b.get("a");
最后一步不需要强行转型,而且如果在b.put("a",a);这一步如果你想往b里面放一个不是List<String>的东西,或者使用的key不是一个String,编译器就会抗议。
泛型学起来有一定难度,尤其是一些高级用法,写起来有时会觉得繁琐,但是我认为物有所值,能够帮助我们在编译期发现不少潜在问题,写出代码更强健。
❾ 怎么把Map类型强制转换成List类型
转一个:
实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中
----------------------------------------------------
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class ConvertMapToList {
/**
* 实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中
* @param args
*/
public static void main(String[] args) {
Map map = new HashMap();
map.put("a", "a1");
map.put("b", "b1");
map.put("c", "c1");
List listKey = new ArrayList();
List listValue = new ArrayList();
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next().toString();
listKey.add(key);
listValue.add(map.get(key));
}
System.out.println("Convert Finished !");
//output the context of the ArrayList
for(int i =0 ;i<listKey.size();i++){
System.out.print("Key :"+listKey.get(i));
System.out.println(" Value :"+listValue.get(i));
}
}
}
❿ java 返回一个Map对象得List集合
看使用的人时候是否需要转,如果是夸语言使用那还是转一下好,如果你是给内部其他人JAVA调用,可以不转。因为提供类型比看到一个json串要好,不容易用错。