在2D数组中查找最小值并排序

时间:2018-12-06 14:05:54

标签: java arrays sorting 2d

我对Java和程序设计完全陌生,我可以在uni练习中使用一些帮助。

我有一个2D阵列列表,其中包含有关各种音乐专辑的信息(标题,艺术家,曲目数量,以分钟为单位的长度,价格等) 我需要创建一个列表,其中包含所有按价格升序排列的专辑。

我有点不知所措,我需要执行所有步骤-在数组列表中浏览并查看特定位置([i][position price]),将价格从字符串转换为数组,找到最小值,将其传输到新列表中,然后将其从现有列表中删除。

我知道这很模糊,但是就像我说的我是一个完整的初学者一样,如果有人可以帮助我打破这些步骤,我将不胜感激。

和平,谢谢R

P.s。我正在学习德语,所以不确定是否在所有地方都使用了合适的vocab!

2 个答案:

答案 0 :(得分:0)

   Collections.sort(list, new Comparator<Albums>() {

        @Override
        public int compare(Albums o1, Albums o2) {
            return o1.price < o2.price ? 1:-1;
        }

    });

或lambda

Collections.sort(list, (o1,  o2) -> o1.price < o2.price ? 1:-1);

答案 1 :(得分:0)

如果您有一个简单的列表,假设价格是整数,则可以通过以下方式进行操作:

Collections.sort(list, Comparator.comparingInt(Album::getPrice))

如果它是一个数组,则可以类似地使用:

Arrays.sort(arr, Comparator.comparingInt(Album::getPrice))

如果price是浮点数,则可以类似地使用comparingDouble

您没有提供有关代码的任何信息,因此很难说出什么情况适合您。