Привет! В этой статье я хочу поделиться с вами своим опытом написания класса-конструктора, который принимает три строки⁚ id игрушки, название игрушки и частоту выпадения игрушки. Затем я использовал принятые значения для заполнения нескольких массивов и добавления элементов в PriorityQueue с использованием API коллекции. Наконец, я организовал общую очередь и вызвал метод Get 10 раз, записывая результат в файл.Для начала, объявим класс Toy с тремя полями⁚ id, название и частота выпадения.java
public class Toy {
private String id;
private String name;
private int frequency;
public Toy(String id, String name, int frequency) {
this.id id;
this.name name;
this.frequency frequency;
}
// Геттеры и сеттеры для полей
}
Затем создаем три массива для хранения значений id, названия и частоты выпадения игрушек.java
String[] ids {″id1″, ″id2″, ″id3″};
String[] names {″Toy 1″, ″Toy 2″, ″Toy 3″};
int[] frequencies {2, 5, 3};
Теперь создаем PriorityQueue и добавляем элементы, используя значения из массивов.java
Queue
for (int i 0; i < ids.length; i ) {
Toy toy new Toy(ids[i], names[i], frequencies[i]);
queue.add(toy);
}
Обратите внимание, что я задал емкость PriorityQueue равную 10, чтобы ограничить количество элементов в очереди.Теперь можем вызвать метод Get 10 раз и записать результаты в файл. Создадим метод `getToys` который будет возвращать 10 игрушек из очереди.java
private List
List
for (int i 0; i < 10; i ) {
Toy toy queue.poll;
toys.add(toy);
}
return toys;
}
// Вызов метода getToys и запись результатов в файл
try (BufferedWriter writer new BufferedWriter(new FileWriter(″output.txt″))) {
List
for (Toy toy ⁚ toys) {
writer.write(toy.getId ″ ″ toy.getName ″ ″ toy.getFrequency);
writer.newLine;
}
} catch (IOException e) {
e.printStackTrace;
}
И вот мы получили 10 игрушек с наибольшей частотой выпадения и записали результаты в файл ″output.txt″.
Это была подробная статья о том, как написать класс-конструктор, заполнить массивы, добавить элементы в PriorityQueue и вызвать метод Get 10 раз, записывая результат в файл. Я надеюсь, что эта информация оказалась полезной для вашего программирования!