import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
public class CommandLineIndexer {
public static class Option {
String name;
List<String> values;
public Option(String name) {
this.name = name;
this.values = new ArrayList<>();
}
}
public static Map<String, List<String>> indexOptions(String[] args) {
Map<String, List<String>> options = new HashMap<>();
if (args == null || args.length == 0) {
return options; // Return empty map if no arguments
}
for (int i = 0; i < args.length; i++) {
String arg = args[i];
if (arg.startsWith("--")) {
String optionName = arg.substring(2); // Remove "--"
if (!options.containsKey(optionName)) {
options.put(optionName, new ArrayList<>());
}
if (i + 1 < args.length) {
String value = args[i + 1];
options.get(optionName).add(value);
i++; // Skip the value
}
}
}
return options;
}
public static void main(String[] args) {
Map<String, List<String>> indexedOptions = indexOptions(args);
for (Map.Entry<String, List<String>> entry : indexedOptions.entrySet()) {
String optionName = entry.getKey();
List<String> values = entry.getValue();
System.out.println("Option: " + optionName + ", Values: " + values);
}
}
}
Add your comment