如何使用java创建数组列表

我有一个带有值的arrayList{a,b,a,c,d,b,a} 我想对列表中的每个元素进行比较并使用java将pairofcommon indexes插入a或其他东西List of array


示例输出:[[0,2,6], [1,4]] 解释:a在索引处0,2,6和b在索引处1,4 到目前为止,我有这个:


    HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();

        List<String> name = new ArrayList<String>();

        letter.add("a");

        letter.add("b");

        letter.add("c");

        letter.add("b");

        letter.add("a");


         for (int i = 0; i < letter.size(); i++) {

            for (int j = 1; j < letter.size(); j++) {

                if (letters.get(i).equals(letters.get(j)) && i != j) {

                    hashMap.put(i, j);

                }

            }

        }

        System.out.println(hashMap); //o/p: {0=4, 1=3, 3=1}

        List<int[]> myList = new ArrayList<int[]>();

        Iterator entries = hashMap.entrySet().iterator();

        while (entries.hasNext()) {

            Map.Entry entry = (Map.Entry) entries.next();

            Integer key = (Integer)entry.getKey();

            Integer value = (Integer)entry.getValue();

            myList.add(new int[] {key,hashMap.get(key)});

        }

        System.out.println(myList.toString()); 

        //O/P: [[I@380fb434, [I@668bc3d5, [I@3cda1055]

更新: 这个想法是让 [[0,4],[1,3],[3,1]] 作为元素,myList但我无法做到这一点。任何帮助深表感谢!谢谢!


基于上面的索引数组,我想比较不同索引List B和C那些索引中的元素 - 意思是比较索引0,2,6中的元素List B and C并检查所有三个元素是否相等。索引处的元素相同1,4


慕哥6287543
浏览 188回答 3
3回答

梦里花落0921

我认为这会帮助你:&nbsp; &nbsp; ArrayList<int[]> arrayList =new ArrayList<>();&nbsp; &nbsp; int[] arrayItem={0,2,6};&nbsp; &nbsp; int[] arrayItem2={1,4};&nbsp; &nbsp; arrayList.add(arrayItem);&nbsp; &nbsp; arrayList.add(arrayItem2);

叮当猫咪

功课做完了,看看这个:package com.company;import java.util.*;public class Main {&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; // write your code here&nbsp; &nbsp; &nbsp; &nbsp; HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();&nbsp; &nbsp; &nbsp; &nbsp; List<String> letter = new ArrayList<String>();&nbsp; &nbsp; &nbsp; &nbsp; letter.add("a");&nbsp; &nbsp; &nbsp; &nbsp; letter.add("b");&nbsp; &nbsp; &nbsp; &nbsp; letter.add("c");&nbsp; &nbsp; &nbsp; &nbsp; letter.add("b");&nbsp; &nbsp; &nbsp; &nbsp; letter.add("a");&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < letter.size(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int j = 1; j < letter.size(); j++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (letter.get(i).equals(letter.get(j)) && i != j) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hashMap.put(i, j);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(hashMap); //o/p: {0=4, 1=3, 3=1}&nbsp; &nbsp; &nbsp; &nbsp; List<int[]> myList = new ArrayList<int[]>();&nbsp; &nbsp; &nbsp; &nbsp; Iterator entries = hashMap.entrySet().iterator();&nbsp; &nbsp; &nbsp; &nbsp; while (entries.hasNext()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Map.Entry entry = (Map.Entry) entries.next();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Integer key = (Integer)entry.getKey();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Integer value = (Integer)entry.getValue();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int[] intValues = new int[2];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intValues[0] = key;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intValues[1] = value;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myList.add(intValues);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; String toPrint = new String();&nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat("[");&nbsp; &nbsp; &nbsp; &nbsp; for(int k = 0; k < myList.size(); k++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat("[");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int l = 0; l < myList.get(k).length; l++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat(String.valueOf(myList.get(k)[l]));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(l != (myList.get(k).length-1)){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat(",");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat("]");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; toPrint = toPrint.concat("]");&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(toPrint);&nbsp; &nbsp; &nbsp; &nbsp; //[[0,4][1,3][3,1]]&nbsp; &nbsp; }}如果您需要做的只是在屏幕上打印值,则此代码将为您工作。

一只名叫tom的猫

您不能使用Map以前检查 String 的所有索引的方式。您可以尝试ArrayList如下,import java.util.*;public class ListCharIndexes {&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; List<String> letter = Arrays.asList("a","b","a","c","d","b","a");&nbsp; &nbsp; &nbsp; &nbsp;//letter= Arrays.asList("a","b","c","b","a");&nbsp; &nbsp; &nbsp; &nbsp; List<List<Integer>> result=new ArrayList<>();&nbsp; &nbsp; &nbsp; &nbsp; Set<String> result1=new HashSet<>();&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < letter.size(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(result1.add(letter.get(i))){ //skip String if it is already processed&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List<Integer> indexes=indexOfAll(letter.get(i), letter);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(indexes.size()>1)&nbsp; &nbsp; &nbsp;//add only pairs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.add(indexes);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(result);&nbsp; &nbsp; }&nbsp; &nbsp; static List<Integer> indexOfAll(String obj, List<String> list) {&nbsp; &nbsp; &nbsp; &nbsp; final List<Integer> indexList = new ArrayList<>();&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < list.size(); i++)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (obj.equals(list.get(i)))&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; indexList.add(i);&nbsp; &nbsp; &nbsp; &nbsp; return indexList;&nbsp; &nbsp; }}输出/输出:[[0, 2, 6], [1, 5]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java