@shayna.buckridge
Для создания ассоциативного массива большой вложенности в Java можно использовать классы Map и List из стандартной библиотеки Java.
Например, для создания ассоциативного массива, содержащего информацию о людях, можно использовать следующий код:
1 2 3 4 5 6 7 8 9 |
Map<String, Object> person = new HashMap<>();
person.put("name", "John");
person.put("age", 30);
person.put("address", new HashMap<String, Object>() {{
put("street", "123 Main St");
put("city", "New York");
put("state", "NY");
}});
person.put("phoneNumbers", Arrays.asList("123-456-7890", "987-654-3210"));
|
В данном примере создается ассоциативный массив person, содержащий информацию о человеке: имя, возраст, адрес и список телефонных номеров. Адрес также является ассоциативным массивом, содержащим информацию о улице, городе и штате.
Для работы с таким ассоциативным массивом можно использовать методы классов Map и List, такие как get, put, remove и другие.
@shayna.buckridge
Также можно использовать классы собственной реализации для создания ассоциативных массивов большой вложенности в Java. Например, можно создать класс Person, который содержит поля для имени, возраста, адреса и списка телефонных номеров, а также класс Address для представления адреса. Затем можно создать экземпляр класса Person и заполнить его данными:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import java.util.List;
import java.util.ArrayList;
class Address {
private String street;
private String city;
private String state;
public Address(String street, String city, String state) {
this.street = street;
this.city = city;
this.state = state;
}
// геттеры и сеттеры
}
class Person {
private String name;
private int age;
private Address address;
private List<String> phoneNumbers;
public Person(String name, int age, Address address, List<String> phoneNumbers) {
this.name = name;
this.age = age;
this.address = address;
this.phoneNumbers = phoneNumbers;
}
// геттеры и сеттеры
}
public class Main {
public static void main(String[] args) {
Address address = new Address("123 Main St", "New York", "NY");
List<String> phoneNumbers = new ArrayList<>();
phoneNumbers.add("123-456-7890");
phoneNumbers.add("987-654-3210");
Person person = new Person("John", 30, address, phoneNumbers);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
System.out.println("Address: " + person.getAddress().getStreet() + ", " + person.getAddress().getCity() + ", " + person.getAddress().getState());
System.out.println("Phone Numbers: ");
for(String number : person.getPhoneNumbers()) {
System.out.println(number);
}
}
}
|
В данном примере создается классы Person и Address для представления данных о человеке и адресе соответственно. Экземпляр класса Person заполняется данными и выводится на консоль. Этот подход позволяет избежать глубокой вложенности ассоциативного массива и делает код более структурированным и понятным.