Напишите способ вернуть Игрушку, которая встречается в списке наиболее часто встречающихся и другой способ сортировки игрушек по счету.Сортировка объектов самого высокого уровня в Java с помощью ArrayList?
Это мой код
import java.util.ArrayList;
public class ToyStore {
private ArrayList<Toy> toyList;
public ToyStore() {
}
public void loadToys(String toys) {
toyList = new ArrayList<Toy>();
for (String item : toys.split(" ")) {
Toy t = getThatToy(item);
if (t == null) {
toyList.add(new Toy(item));
} else {
t.setCount(t.getCount() + 1);
}
}
}
public Toy getThatToy(String nm) {
for (Toy item : toyList) {
if (item.getName().equals(nm)) {
return item;
}
}
return null;
}
public String getMostFrequentToy() {
int position = 0;
int maximum = Integer.MIN_VALUE;
for (int i = toyList.size() - 1; i >= 0; i--) {
if (toyList.get(i).getCount() > maximum)
maximum = toyList.get(i).getCount();
position = i;
}
return toyList.get(position).getName();
}
public void sortToysByCount() {
ArrayList<Toy> t = new ArrayList<Toy>();
int count = 0;
int size = toyList.size();
for (int i = size; i > 0; i--) {
t.add(new Toy(getMostFrequentToy()));
t.get(count).setCount(getThatToy(getMostFrequentToy()).getCount());
toyList.remove(getThatToy(getMostFrequentToy()));
count++;
}
toyList = t;
}
public String toString() {
return toyList + "" + "\n" + "max == " + getMostFrequentToy();
}
}
Вот метод, который я забочусь о
public void sortToysByCount() {
ArrayList<Toy> t = new ArrayList<Toy>();
int count = 0;
int size = toyList.size();
for (int i = size; i > 0; i--) {
t.add(new Toy(getMostFrequentToy()));
t.get(count).setCount(getThatToy(getMostFrequentToy()).getCount());
toyList.remove(getThatToy(getMostFrequentToy()));
count++;
}
toyList = t;
}
Вот мой выход
[sorry 4, bat 1, train 2, teddy 2, ball 2]
Вот что я хочу
[sorry 4, train 2, teddy 2, ball 2, bat 1];
Что не так в моем коде? Как мне это сделать?
Пройдите свой код с помощью отладчика и выясните его. Домашнее задание предназначено для обучения через проб и ошибок, в чем смысл, если мы сделаем это для вас? –
Это похоже на домашнюю работу. Вот наша политика [о домашних заданиях] (http://meta.programmers.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems). –