首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么下面代码的输出是这个映射:{1=[Dd,Ff],2=[Dd,Ff],3=[Dd,Ff],4=[Dd,Ff]}?

为什么下面代码的输出是这个映射:{1=[Dd,Ff],2=[Dd,Ff],3=[Dd,Ff],4=[Dd,Ff]}?
EN

Stack Overflow用户
提问于 2020-07-23 01:01:59
回答 1查看 23关注 0票数 0

我期望的输出是这样的:{1=Aa,Cc,2=Bb,Dd,3=Cc,Ee,4=Dd,Ff}?我只想用数组中每个字母的相邻字母(除了第一个和最后一个字母)创建单独的数组列表,然后将这些数组列表作为值放入映射中。

代码语言:javascript
复制
import java.util.ArrayList;
    import java.util.HashMap;
    public class Demo{
    public static void main(String[] args){
            String[] arr = {"Aa", "Bb", "Cc", "Dd", "Ee", "Ff"};
            ArrayList<String> al = new ArrayList<>();
            HashMap<Integer,ArrayList<String>> mp = new HashMap<>();
            
            for(int i = 1; i < 5; i++){
                al.clear(); 
                al.add(arr[i-1]);
                al.add(arr[i+1]);
                mp.put(i,al);
            }
            
            System.out.print(mp);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2020-07-23 01:07:25

我只是想创建单独的数组列表

这不是这段代码要做的。这段代码生成一个数组列表。

在循环中,不是清除列表,而是创建一个新列表。

代码语言:javascript
复制
 for (int i = 1; i < 5; i++) {
   al = new ArrayList<>();
   ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63039505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档