Есть не отсортированная коллекция с заявками, потом в цикле в зависимости от условия добавляется в нужную коллекцию, позже объекты в коллекциях сортируются по времени создания и потом добавляются в одну, есть способ сделать такую сортировку без помощи вспомогательных коллекций?
package main.comparator;
public class CarForSort implements Comparable {
private String color;
private String bodyStyle;
private String Make;
private String Model;
private Integer year;
public CarForSort(String color, String bodyStyle, String make, String model, int year) {
this.color = color;
this.bodyStyle = bodyStyle;
Make = make;
Model = model;
this.year = year;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getBodyStyle() {
return bodyStyle;
}
public void setBodyStyle(String bodyStyle) {
this.bodyStyle = bodyStyle;
}
public String getMake() {
return Make;
}
public void setMake(String make) {
Make = make;
}
public String getModel() {
return Model;
}
public void setModel(String model) {
Model = model;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
@Override
public int compareTo(Object o) {
return 0;
}
}
и
package main.comparator;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Sort {
public static void main(String[] args) {
CarForSort first = new CarForSort("orange", "coupe",
"bmw", "3", 1992);
CarForSort second = new CarForSort("black", "cabriolet",
"bmw", "6", 2008);
CarForSort third = new CarForSort("black", "hatchback",
"opel", "astra", 2000);
CarForSort fourth = new CarForSort("red", "suv",
"mercedes", "ml", 1992);
CarForSort fifth = new CarForSort("blue", "sedan",
"kia", "rio", 2008);
CarForSort sixth = new CarForSort("gray", "sedan",
"tesla", "moles3", 2019);
CarForSort seventh = new CarForSort("red", "sedan",
"tesla", "model_s", 2019);
CarForSort eigth = new CarForSort("green", "sedan",
"bmw", "5", 1993);
CarForSort ninth = new CarForSort("orange", "sedan",
"bmw", "7", 1994);
CarForSort tenth = new CarForSort("blue", "coupe",
"bmw", "6", 2001);
CarForSort eventh = new CarForSort("red", "sedan",
"bmw", "3", 1998);
CarForSort twelwth = new CarForSort("orange", "sedan",
"bmw", "7", 1997);
CarForSort thirteenth = new CarForSort("blue", "sedan",
"opel", "omega", 2000);
CarForSort fourteenth = new CarForSort("orange", "white",
"opel", "vectra", 1999);
CarForSort fiftenth = new CarForSort("black", "coupe",
"kia", "stinger", 2019);
CarForSort sixteenth = new CarForSort("orange", "sedan",
"bmw", "7", 2017);
CarForSort seventeenth = new CarForSort("orange", "coupe",
"bmw", "3", 1992);
CarForSort eighteenth = new CarForSort("orange", "coupe",
"bmw", "6", 2014);
CarForSort opel = new CarForSort("orange", "coupe",
"astra", "4", 1998);
List<CarForSort> notSort = new ArrayList<>();
notSort.add(first);
notSort.add(second);
notSort.add(third);
notSort.add(fourth);
notSort.add(fifth);
notSort.add(sixth);
notSort.add(seventh);
notSort.add(eigth);
notSort.add(ninth);
notSort.add(tenth);
notSort.add(eventh);
notSort.add(twelwth);
notSort.add(thirteenth);
notSort.add(fourteenth);
notSort.add(fiftenth);
notSort.add(sixteenth);
notSort.add(seventh);
notSort.add(eighteenth);
notSort.add(opel);
notSort.add(seventeenth);
List<CarForSort> firstSort = new ArrayList<>();
List<CarForSort> secondSort = new ArrayList<>();
List<CarForSort> thirdSort = new ArrayList<>();
List<CarForSort> fourthSort = new ArrayList<>();
List<CarForSort> fifthSort = new ArrayList<>();
for (CarForSort car : notSort) {
if (car.getMake().equals("bmw") && car.getColor().equals("orange")) {
firstSort.add(car);
continue;
}
if (car.getMake().equals("opel") && car.getColor().equals("black")) {
secondSort.add(car);
continue;
}
if (car.getMake().equals("opel") && car.getBodyStyle().equals("sedan")) {
thirdSort.add(car);
continue;
}
if (car.getMake().equals("tesla") && car.getColor().equals("moles3")) {
fourthSort.add(car);
continue;
}
fifthSort.add(car);
}
List<CarForSort> result = new ArrayList<>();
result.addAll(firstSort
.stream()
.sorted(CarForSort::compareTo)
.collect(Collectors.toList()));
result.addAll(secondSort
.stream()
.sorted(CarForSort::compareTo)
.collect(Collectors.toList()));
result.addAll(thirdSort
.stream()
.sorted(CarForSort::compareTo)
.collect(Collectors.toList()));
result.addAll(fourthSort
.stream()
.sorted(CarForSort::compareTo)
.collect(Collectors.toList()));
result.addAll(fifthSort
.stream()
.sorted(CarForSort::compareTo)
.collect(Collectors.toList()));
result.forEach(e -> {
System.out.println(e.getMake() + " " + e.getModel() + " " + e.getColor() + " " + e.getBodyStyle() + " " + e.getYear());
});
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Scene Builder продолжает развиваться, правда, уже под крылом Gluon
Имеется Spring Boot многомодульное приложение, с настройкой бд через JNDI, как правильно запустить Junit тесты? Мой тест сейчас аннотирован так:
Я запускаю скрипт Perl из Java примерно таким образом:
Интересует чтение матрицы и ее запись в два arraysНужно считать размерность матрицы