I have an ArrayList, where DataType is a class:
class DataType {
String id;
String dType;
String description;
// setters and getters follow
}
With the given ArrayList<Datatype>, I want to create sub lists, such that every sublist has the same value for dType. i.e all DataType Objects having same value for dType should come in one sublist and so on.
Further, all sublists will be added to an ArrayList<ArrayList<Datatype>> as created.
Could someone please suggest the most appropriate approach for this.
The way I'd do this is to create a Map:
Map<String, List<DataType>> data;
Then loop through your original array, for each value insert them into the Map using dType as the key.
for (DataType dt: toSort) {
List<DataType> list = data.get(dt.dType);
if (list == null) {
list = new ArrayList<>();
data.put(dt.dType, list);
}
list.add(dt);
}
Now you have them all sorted nicely.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With