java - 循环创建列表

标签 java arrays loops dynamic

有什么方法可以创建一个循环来创建新列表

static Map<Integer, List> dataMap = new HashMap<>();
public static void dec_hex() {

        // Map<Integer, Integer> dataMap = new HashMap<>();
        // dataMap.put(0, 0);
        List<Integer> ls2 = new ArrayList<Integer>();
        List<Integer> ls3 = new ArrayList<Integer>();
        List<Integer> ls4 = new ArrayList<Integer>();
        List<Integer> ls5 = new ArrayList<Integer>();
        List<Integer> ls6 = new ArrayList<Integer>();
        List<Integer> ls7 = new ArrayList<Integer>();
        List<Integer> ls8 = new ArrayList<Integer>();
        List<Integer> ls9 = new ArrayList<Integer>();
        List<Integer> ls10 = new ArrayList<Integer>();

        System.out.println("Liczby");
        for (int i = 0; i < 201; i++) {
            String hex = Integer.toHexString(i);
            System.out.println("DEC: " + i + " HEX: " + hex);
            //for (int a = 2; a<11 ; a++){
            if (i % 2 == 0) {
                ls2.add(i);
                //myList.add(i);
                dataMap.put(2, ls2);
            }
            if (i % 3 == 0) {
                ls3.add(i);
                //myList.add(i);
                dataMap.put(3, ls3);
            }

            if (i % 4 == 0) {
                ls4.add(i);
                //myList.add(i);
                dataMap.put(4, ls4);
            }
            if (i % 5 == 0) {
                ls5.add(i);
                //myList.add(i);
                dataMap.put(5, ls5);
            }
            if (i % 6 == 0) {
                ls6.add(i);
                //myList.add(i);
                dataMap.put(6, ls6);
            }
            if (i % 7 == 0) {
                ls7.add(i);
                //myList.add(i);
                dataMap.put(7, ls7);
            }
            if (i % 8 == 0) {
                ls8.add(i);
            //  myList.add(i);
                dataMap.put(8, ls8);
            }
            if (i % 9 == 0) {
                ls9.add(i);
                //myList.add(i);
                dataMap.put(9, ls9);
            }
            if (i % 10 == 0) {
                ls10.add(i);
                //myList.add(i);
                dataMap.put(10, ls10);
            }
        }

        //String list = myList.toString();
        //System.out.println(list);
        dataMap.toString();
        System.out.println(dataMap);

    }

有没有办法创建一个循环来检查数字是否可整除? 如果我要使用这个

    for (int a = 2; a<11 ; a++){
 lsa.add(i); // lets say we've got one list
 dataMap.put(a, ls);
}

程序无法正常工作,因为数字会重复,因为我使用相同的 lsa 数组。

最佳答案

您可以创建列表的列表。

int max = 10;
List<List<String>> listOfLists = new ArrayList<>();
for(int i=0; i<max; i++) {
             //create a new list and add it to listOfLists
    List<String> myList = new ArrayList<>();
    listOfLists.add(myList);
}

希望这有帮助。 :)

关于java - 循环创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44369619/

相关文章:

java - 试图让游戏运行,循环条件

c - OpenMP 令人尴尬的并行循环,没有加速

java - 如何使用打印流

java - 在 android 中使用 google map v2 在触摸位置添加标记

Java并发修改异常错误

C : Array of bytes which stores unsigned ints using 3 bytes

java - Android图片设置高度问题

arrays - 使用 “+=” 运算符将一个数组连接到另一个可选值数组

ruby - 如何循环请求用户输入,直到用户输入正确的信息?

c - 循环中的 fread fwrite 错误 - C