Вы можете использовать карту, в частности HashMap, для хранения списка связей между ключами и значениями, а также использовать список или набор, в частности HashSet, для хранения списков значений.
Но, как отмечено в комментариях, может быть лучше использовать комбинацию этого и классов.
Вот одна из возможных реализаций. (Вы можете сократить его, используя служебные классы для создания Наборов и Карт, например, из библиотеки Google Guava или библиотеки Apache Commons.)
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
class Job {
String model;
Map<String, Set<String>> areas;
public Job(String model, Map<String, Set<String>> areas) {
this.model = model;
this.areas = areas;
}
}
public class Example {
public static void main(String[] args) {
Map<String, Set<String>> areas = new HashMap<>();
Set<String> sandingProblems = new HashSet<>();
sandingProblems.add("Hood");
sandingProblems.add("Doors");
areas.put("Sanding", sandingProblems);
Set<String> engineProblems = new HashSet<>();
engineProblems.add("Oil panel seal");
areas.put("Engine", engineProblems);
Set<String> electricalProblems = new HashSet<>();
electricalProblems.add("Oil pressure light");
electricalProblems.add("Headlight switch");
areas.put("Electrical", electricalProblems);
Job job = new Job("Blue Spitfire", areas);
System.out.println(job.model);
for (Map.Entry<String, Set<String>> entry : areas.entrySet()) {
System.out.println("\t" + entry.getKey());
for (String problem : entry.getValue()) {
System.out.println("\t\t" + problem);
}
}
}
}