Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决;类型列表的方法值()未定义<;地图入口<;字符串,字符串>&燃气轮机&引用;_Java_List_Arraylist - Fatal编程技术网

Java 如何解决;类型列表的方法值()未定义<;地图入口<;字符串,字符串>&燃气轮机&引用;

Java 如何解决;类型列表的方法值()未定义<;地图入口<;字符串,字符串>&燃气轮机&引用;,java,list,arraylist,Java,List,Arraylist,首先,我有两个字符串数组列表。然后我将这两个arraylist字符串组合在一起 双字符串arraylist如下所示: List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size()); if (d1.size() == d2.size()) { for (int i = 0; i < d1.size(); ++i) {

首先,我有两个字符串数组列表。然后我将这两个arraylist字符串组合在一起

双字符串arraylist如下所示:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
d1=[a1、a2、a3、a3]

d2=[z1,z2,z3,z3]

正如我从people建议中发现的,我将这两个字符串arraylist组合如下:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
List multiall=newarraylist(d1.size());
如果(d1.size()==d2.size()){
对于(int i=0;i
组合两个字符串arraylist后的结果如下所示:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
[a1=z1,a2=z2,a3=z3,a3=z3]

现在我像这样删除了副本:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
multiall=multiall.stream().distinct().collect(Collectors.toList())

结果是这样的:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
[a1=z1,a2=z2,a3=z3]

现在我要做的是将其转换为字符串arraylist。我试过这样做:

ArrayList targetList=新的ArrayList(multiall.values())

但我有一个错误是这样说的:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
类型列表的方法值()未定义

我的预期输出如下:

List<Map.Entry<String, String>> multiall = new ArrayList<>(d1.size());
        if (d1.size() == d2.size()) {
            for (int i = 0; i < d1.size(); ++i) {
                multiall.add(new AbstractMap.SimpleEntry<String, String>(d1.get(i), d2.get(i)));
            }
        }
[a1=z1,a2=z2,a3=z3]
作为字符串数组列表。可能吗?还是我的观念错了

请帮帮我。谢谢

.values()
使用地图,而不是列表

尝试:

您还可以将
列表更改为映射,并使用覆盖的
toString()
:-

Map-stringMap=multiall.stream()
.collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue));
System.out.println(stringMap);

类似这样的内容:
multiall.stream().map(kv->kv.value()).collect(collector.toList())
我尝试了您的解决方案,但我只得到了
d2
的值。你知道为什么吗?@sharky因为你想要价值观,不是吗?
d1
的元素是“键”。您想要一个字符串列表,如
[“a1=z1”、“a2=z2”、“a3=z3”]
?非常抱歉。我有点困惑。是的,我想要一个字符串列表。这可能吗?还是我的观念错了@KartikI仍然停留在
.map(entry->entry.getKey()+“=”+entry.getValue())
列表targetList=multiall.stream().map(entry->entry.getKey()+“=”+entry.getValue()).collect(collector.toList())