import java.util.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ListIndexer {
public static void main(String[] args) throws IOException {
List<String> lists = new ArrayList<>();
String filePath = args[0]; // File containing lists (one list per line, comma separated)
loadListsFromFile(filePath, lists);
if (lists.isEmpty()) {
System.out.println("No lists loaded. Exiting.");
return;
}
// Indexing and diagnostics
for (int i = 0; i < lists.size(); i++) {
System.out.println("--- List " + (i + 1) + " ---");
List<String> list = lists.get(i);
System.out.println("List size: " + list.size());
System.out.println("Unique elements: " + getUniqueElements(list).size());
System.out.println("First 10 elements: " + list.subList(0, Math.min(10, list.size())));
System.out.println("---");
}
}
private static void loadListsFromFile(String filePath, List<String> lists) throws IOException {
try {
Files.lines(Paths.get(filePath)).forEach(line -> {
String[] items = line.split(",");
lists.add(Arrays.asList(items)); // Convert array to list
});
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
throw e;
}
}
private static Set<String> getUniqueElements(List<String> list) {
Set<String> uniqueElements = new HashSet<>(list); // Use HashSet for uniqueness
return uniqueElements;
}
}
Add your comment