Сравнить переменные в объектах JAVA

222
04 сентября 2018, 20:50

Существуют шесть объектов - кубов у которых есть объем(сторона задана в ручную). Как мне отсортировать объемы кубов и вывести информацию в табличном виде что-то вроде

  • имя объем сторона
  • куб2 100л 3
  • куб1 90л 2
  • куб3 80л 4
Answer 1
  • Отсортировать список можно при помощи метода статического Collections.sort(). При этом класс должен реализовывать интерфейс Comparable
  • Вывести можно при помощи метода System.out.println()
  • Отформатировать вывод можно переопределив метод toString()
class Cube implements Comparable<Cube>;
  private final String name;
  private final int edge;
  public Cube(String name, int edge) {
    this.name = name;
    this.edge = edge;
  }
  private int getVolume() {
    return edge * edge * edge;
  }
  @Override
  public int compareTo(Cube obj) {
    return Integer.compare(getVolume(), obj.getVolume());
  }
  @Override
  public String toString() {
    return String.format("%s %d %d", name, getVolume(), edge);
  }
}
List<Cube> list = new ArrayList<Cube>;
list.add(new Cube("cube1", 5));
list.add(new Cube("cube2", 7));
list.add(new Cube("cube3", 3));
Collections.sort(list);
for (Cube cube : list)
  System.out.println(cube);
READ ALSO
Не отправляются файлы на сервер JSF

Не отправляются файлы на сервер JSF

Есть JSF страница (создание статьи) те

184
Как проверить содержимое строчки

Как проверить содержимое строчки

Есть строчка: String msg = "test";

184
Запись чисел в лист в виде массива

Запись чисел в лист в виде массива

Делаю реализацию игры Mastermind взял за основу алгоритм Кнута

190
Клиент - сервер на javafx

Клиент - сервер на javafx

Сделала авторизацию пользователя в javafx - приложенииУ меня есть 2 роли: ребенок и родитель

211