2016-02-18 2 views
0

Я новичок в программировании на Java.JAVA Как создать одиночный и многомерный массив

Как создать и инициализировать массив, который содержит одномерный и двухмерный массив, как показано ниже в массиве Arrayylist или массиве, путем заполнения значения каждого индекса в цикле for. любая помощь будет оценена

{ 
"john": 
     { 
     "age":"20", 
     "eye color":"blue", 
     "location":"somewhere in the world", 
     "education-level":"degree", 
     } 

"ben" : 
     { 
     "age":"16", 
     "eye color":"green", 
     "location":"somewhere in the world", 
     "education-level":"secondary school", 
     } 

} 

Идея заключается в том, чтобы создать массив, который хранит информацию народов, как мы видели выше

+0

Я не уверен, что понял вопрос , JSON, который вы показываете, имеет больше общего с картами, чем с массивами или списками. Можете ли вы показать, как вы собираетесь получать доступ к данным из вашего многомерного массива? –

+0

Идея состоит в том, чтобы создать массив, в котором персональная информация хранит значение пары ключей. Я хотел бы получить к нему доступ, используя цикл for, например 'for (int i = 0; i Martin

+1

Я бы создал объект Person, который имеет каждое из этих полей, если у вас нет какой-либо конкретной причины, почему вы не можете. Затем вы можете создать два экземпляра 'Person' и поставить их в списке. –

ответ

1

Вы можете создать и инициализировать 2D-массив в Java, как это для ваших данных.

String[][] array = new String[][]{ 
     {"john","20","blue","somewhere in the world","degree"}, 
     {"ben","16", "green", "somewhere in the world", "secondary school"}   
    }; 

Но для ваших данных может быть лучше иметь некоторую структуру данных, как показано ниже.

Person.java

public class Person{ 
    private String name; 
    private PersonDetails details; 
//getters and setters 
} 

PersonDetails.java

public class PersonDetails{ 
    private int age; 
    private String eyeColor; 
    private String location; 
    private String educationLevel; 
//getters and setters 
} 

Основная функция

List<Person> personsList = new ArrayList<>(); 
// loop starts 
PersonDetails pd = new PersonDetails(); 
//set values 
Person p = new Person(); 
//set values 
personsList.add(p); 
//loop ends 
+0

Это прекрасно !, именно то, что я ищу.большое спасибо – Martin

0

Ваш JSON имеет плохой синтаксис, Правильный путь получить JSON, как этот

{ 
"people" : 
[ 
    { "name":"john", 
     "age":"20", 
     "eye color":"blue", 
     "location":"somewhere in the world", 
     "education-level":"degree" 
    }, 
    { 
     "name":"ben", 
     "age":"16", 
     "eye color":"green", 
     "location":"somewhere in the world", 
     "education-level":"secondary school" 
    } 
] 
} 

[ и ] определить массив элементов, а { и } представляет объекты типа данных; в этом случае люди.

Затем вы можете получить массив объектов'people 'с необходимыми полями для информации. У меня есть this для сериализации и десериализации java-объектов для json и visceversa, попробуйте это. Надеюсь вам помочь.

Смежные вопросы