@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 заполняется данными и выводится на консоль. Этот подход позволяет избежать глубокой вложенности ассоциативного массива и делает код более структурированным и понятным.