Два господствующий способ сохранения "записи" является: объекты
Карты является более общей:
Map<String,String> match = new HashMap<>();
match.put("home_name", "Alvechurch Villa");
match.put("away_name", "Leamington");
match.put("home_score", "0");
match.put("away_score", "6");
Вы можете добавить
List<Map<String,String>> matches = new ArrayList<>();
matches.add(list);
... и восстановить их:
Map<String,String> match = matches.get(0);
System.out.println(match.get("away_score"));
Объект данных более настроен на свой формат данных, но вы должны написать свой класс самостоятельно.
public class Match {
public String homeName;
public String awayName;
public int homeScore;
public int awayScore;
}
Теперь вы можете использовать этот класс:
Match match = new Match();
match.homeName = "Studley";
// etc.
Вы можете добавлять и извлекать их из списков тоже:
List<Match> matches = new ArrayList<>();
matches.add(match);
Match aMatch = matches.get(0);
Это простое, но это считается плохой практикой, чтобы общественность таких полей - лучше использовать их с помощью методов. Для краткости, вот класс данных только с одним полем:
public class Player {
private String name;
public Player(String name) {
this.name = name;
}
public String name() {
return name;
}
}
Player neilStacey = new Player("Neil Stacey");
Вы можете использовать ту же технику, со всеми полями в Match
.
(Общий стиль назвать метод как этот getName()
, а также иметь setName()
. Я использовал другой стиль и сделал объект неизменны, в попытке установить хороший пример!)
Одним из преимуществ объекта данных является то, что он имеет разные типы для разных полей: homeName
- это строка, homeScore
- целое число. Все поля на карте - это строки. Вы можете обойти это, используя Map<String,Object>
, но затем, как потребитель, вы должны придать правильному типу при чтении.
String homeName = (String) match.get("home_name");
объекты данных позволяют компилятору делать много проверки времени компиляции, который поможет вам знать, что ваш код правильно. Если вы используете карту, вы не узнаете ее до времени исполнения.
(Предположим, что пользователь хочет ввести 100 строк результатов матча) – gv555
Пожалуйста, пост любой код, у вас есть, и указывают на определенные проблемы, которые вы имеете. Это поможет нам ** помочь ** вам **. – 2ps
с меткой Java, так как вопросы касаются java ....... – Tim