Задать вопрос
@thatmaniscool

Как передать аргумент типа Map в метод?

Прежде всего я создаю класс Person для хранения некоторой информации
public class Person {
	private String name, surname;
	
	public Person (String name, String surname){
		this.name = name;
		this.surname = surname;
	}
	
	public String toString (){
		return "Person: " + surname + " " + name;
	}
}


После чего я создаю общий класс с тремя подклассами, наследую от общего класса.
public class Data {
// Class of Car	
	public class Car extends Data {
		private String Mark;
		public Car (String Mark){
			this.Mark = Mark;
		}
		
		public String toString (){
			return "Car: " + Mark;
		}
	}
	
// Class of House	
	public class House extends Data {
		private String Adress;
		public House (String Adress){
			this.Adress = Adress;
		}
		
		public String toString (){
			return "House: " + Adress;
		}
	}
	
// Class of Work	
	public class Work extends Data {
		private String Work;
		public Work (String Work){
			this.Work = Work;
		}
		
		public String toString (){
			return "Work: " + Work;
		}
	}
}

После чего я создаю главный класс
public class MainClass {
	// Массив Map
	public static Map <Person, List <? extends Data>> info =
			new HashMap <Person, List <? extends Data>> ();
	
	// Вывод информации
	public static void ShowInfo (){
		for (Person person : info.keySet()){
			System.out.println (person);
			for (Data e : info.get(person)){
				System.out.println(e);
			}
		}
	}
	
	
	// Как ставить аргумент типа Arrays.asList ();???
	public static void addPerson (Person person){
		
	}
	
	public static void main(String[] args) {
	
		// Как передать этот участок кода как аргумент методу?
		info.put(new Person ("Nikolay", "Nikolaev"),
				Arrays.asList(
						new Data().new Car ("Jiguli"),
						new Data().new House ("Muhosransk"),
						new Data().new Work ("alcogolic")));
		
		ShowInfo ();
	}
}


И тут у меня возникает проблема, а именно, как передать вот этот участок кода

info.put(new Person ("Nikolay", "Nikolaev"),
Arrays.asList(
new Data().new Car ("Jiguli"),
new Data().new House ("Muhosransk"),
new Data().new Work ("alcogolic")));

Как аргумент в эту функцию

// Как ставить аргумент типа Arrays.asList ();???
public static void addPerson (Person person){

}
  • Вопрос задан
  • 454 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы