【问题标题】:Find biggest ArrayList from a multi dimensional ArrayList by count in Android在Android中通过计数从多维ArrayList中找到最大的ArrayList
【发布时间】:2017-06-07 18:09:39
【问题描述】:

我有一个 ArrayListArrayLists。它本身可以有多个数组。有时可能是 5 或 6。现在我想通过使用它的大小从我的多维 ArrayList 中获得最大的 ArrayList。我不知道如何实现这一点。因此我在这里发帖。提前致谢。

例如:

[[a, b, c], [d, e, f, g, h, i, j]]

通过使用以下代码,我正在创建 ArrayLists 的 ArrayList

ArrayList<ArrayList> arrays = new ArrayList<>();
for (int i = 0; i < devArray.size(); i++) {
        String devName = devArray.get(i);
        ArrayList<String> array = new ArrayList<>();
        for (String str: strArray) {
            array.add(str);
        }
        arrays.add(array);
    }

【问题讨论】:

  • 你的代码在哪里?

标签: android arrays list arraylist


【解决方案1】:

看看它是否有效。

int maxListTracker = 0, maxListPosition = 0;
for (int i = 0; i < arrays.size(); i++ ) {
        ArrayList al = arrays.get(i)
        if(al.size() > maxListTracker) {
           maxListTracker = al.size();
           maxListPosition = i;
        }
}

ArrayList biggestList = arrays.get(maxListPosition);

【讨论】:

    【解决方案2】:
    ArrayList<ArrayList> arrays = new ArrayList<>();
            int biggestArrayCount = 0;
            int biggestArrayIndex = 0;
            for (int i = 0; i < devArray.size(); i++) {
                String devName = devArray.get(i);
                ArrayList<String> array = new ArrayList<>();
                for (String str: strArray) {
                    array.add(str);
                }
                if(array.size() > biggestArrayCount) {
                    biggestArrayCount = array.size();
                    biggestArrayIndex = i;
                }
                arrays.add(array);
            }
    

    由于这是最简单的解决方案,您甚至可以只保存索引,然后可以通过arrays.get(index).size; 获取大小,您可以将它们都保存在 HashMap 中;

    【讨论】:

    • 我认为这只会得到最大数组列表的计数。我想要最大的整个数组列表
    • 您可以按照编辑后的答案@PraveenKumar,如果可行,您可以接受:)
    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2015-02-15
    相关资源
    最近更新 更多