У меня возникла проблема с этой частью моего задания: Создайте карту, где ключ является типом животного, а значение - это список объектов CartoonCharacter, которые являются типом животное, хранящееся в в алфавитном порядке по названию. Распечатайте каждый ключ с карты и список объектов , которые ссылаются на ключевые слова. Я понимаю, как создать карту и что представляют собой ключи и значения, но у меня возникли проблемы с пониманием того, как я мог бы перебирать объекты и извлекать типы для использования в качестве ключей. возможно, используя метод put? вот код до сих порсоздать карту со строковым ключом и ссылкой на объект
public class CartoonDriver {
public static void main(String[] args) {
//Construct objects of cartoon characters
CartoonCharacter BugsBunny = new CartoonCharacter("Bugs Bunny","rabbit",1990);
CartoonCharacter RogerRabbit = new CartoonCharacter("Roger Rabbit", "rabbit",1858);
CartoonCharacter MickeyMouse = new CartoonCharacter("Mickey Mouse", "mouse",1928);
CartoonCharacter MinnieMouse = new CartoonCharacter("Minnie mouse", "mouse",1930);
CartoonCharacter RoadRunner = new CartoonCharacter("Road Runner", "roadrunner",1986);
CartoonCharacter DaffyDuck = new CartoonCharacter("Daffy Duck", "duck",1999);
CartoonCharacter DonaldDuck = new CartoonCharacter("Donald Duck", "duck",1958);
CartoonCharacter ScoobyDoo = new CartoonCharacter("Scooby Doo", "dog",1975);
CartoonCharacter WinnieThePooh = new CartoonCharacter("Winnie The Pooh", "bear",1963);
CartoonCharacter Snoopy = new CartoonCharacter("Snoopy", "dog",1959);
//Create toons array list to add characters to
List<CartoonCharacter> toons = new ArrayList<CartoonCharacter>();
//Add each characther to the array list
toons.add(BugsBunny);
toons.add(RogerRabbit);
toons.add(MickeyMouse);
toons.add(MinnieMouse);
toons.add(RoadRunner);
toons.add(DaffyDuck);
toons.add(DonaldDuck);
toons.add(ScoobyDoo);
toons.add(WinnieThePooh);
toons.add(Snoopy);
//print each object
for(CartoonCharacter toon : toons){
System.out.println(toon);
}
//Create Map to hold type of toon and toon object as value
Map<String, CartoonCharacter> toonsMap = new HashMap<>();
}
}
я устал пару вещей, но они не делают, так как с помощью метода пут, как и в toons.put (кролик, BugsBunny); , но это не кажется мне правильным для каждого объекта.
Прочтите этот [учебник по Java] (https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html) – randominstanceOfLivingThing
Предполагая, что 'CartoonCharacter' имеет средство для получения типа, в котором вы могли бы использовать' toons. put (toon.getType(), toon) ', но помните, что вы не можете иметь несколько ключей, поэтому вам нужно будет использовать« Список », который содержит« CartoonCharacter »данного типа. Затем вы можете использовать «TreeMap», который будет заказывать ключи. Точка использования 'toon.getType' есть, вы можете просто пропустить свой существующий« Список »;) – MadProgrammer