当前位置: 首页 > 面试题库 >

Java 2D ArrayList和排序

邢起运
2023-03-14
问题内容

我需要按商品所在的过道对购物清单进行排序,例如:
[面包] [1]
[牛奶] [2]
[谷物] [3]

我打算使用ArrayList进行此操作,并且想知道如何制作2D ArrayList奖励问题:关于如何按过道编号排序的任何想法?


问题答案:

您没有开设可容纳您的物品和过道信息的课程吗?就像是:

public class Item {
  private String name;
  private int aisle;

  // constructor + getters + setters 
}

如果不这样做,请考虑创建一个-
与尝试将这些属性粘贴到另一个ArrayList中的ArrayList中相比,这绝对是一种更好的方法。讲完类后,您将需要为对象编写比较器,或者使“
Item”
本身可比较:

public class Item implements Comparable<Item> {
  .. same stuff as above...

  public int compareTo(Item other) {
    return this.getAisle() - other.getAisle();
  }
}

然后,您要做的就是调用sort:

List<Item> items = new ArrayList<Item>();
... populate the list ...
Collections.sort(items);


 类似资料:
  • 基数排序 from typing import List def radix_sort(arr: List) -> List: """ 基础排序 核心思想: 一共有0-9为数字的桶,一共10个,一共循环数组中最大数的位数次(如最大数是1000则是4次个十百千位分别循环), 每一次循环依次从数中取出个、十、百、千、万...位数上的数值放到对应的桶中,如果该位上没有

  • 问题内容: 如何使用单选按钮对jtable列进行排序? 我的jtable是defaultTableModel而不是向量。 当用户按下列标题时,我已经实现了,它将进行排序,现在我必须使用单选按钮来实现。 实现此目标的最佳方法是什么? 问题答案: 要以编程方式进行排序,请将以下代码添加到侦听器中:

  • 快速排序 from typing import List def quick_sort(arr: List, left, right) -> List: """ 快速排序是对冒泡排序的改进,核心思想是找到一个中值点pivot,然后将小于等于pivot的放在pivot的左边,大于pivot的放在右边,一直递归到无法拆分pivot点。 :param arr: :re

  • 插入排序 """ 插入排序核心思想 将数组分成一个有序数组和一个无序数组 每次从无序数组中提一个元素出来 插入到 有序元素的合适位置 """ from typing import List def insert_sort(arr: List) -> List: """ 插入排序 :param arr: :return: """ target =

  • 冒泡排序 from typing import List """ 核心思想是循环length-1次,每次循序找出最大或者最小的一个数,每次比较相邻的两个数,如果大或者小就交换位置,每一次循环可以比较当次最大的一个数。 例如 3, 10, -1, 20,8 - 第一次循环 1. 指针下移指向 3 3和10比较 不交换 3 10 -1 20 8 2. 指针下移指向 10 10>-1 交换

  • 本文向大家介绍快速排序和分治排序介绍,包括了快速排序和分治排序介绍的使用技巧和注意事项,需要的朋友参考一下 快速排序让我看了很久,也折磨了我很长时间,因为大体上的思路我是有了,但是写代码时总是出现各种问题,要想把它调试出来对我个人来说还是有一定难度的,而且因为工作和偷懒的原因,导致之前调试不出来的错误放了很久,今天终于出来啦,还是有些小激动的哦,下面来分享一下我的代码并做一点点说明。   要学会快