1. import java.util.*;
  2. import java.io.IOException;
  3. import java.nio.file.Files;
  4. import java.nio.file.Paths;
  5. public class ListIndexer {
  6. public static void main(String[] args) throws IOException {
  7. List<String> lists = new ArrayList<>();
  8. String filePath = args[0]; // File containing lists (one list per line, comma separated)
  9. loadListsFromFile(filePath, lists);
  10. if (lists.isEmpty()) {
  11. System.out.println("No lists loaded. Exiting.");
  12. return;
  13. }
  14. // Indexing and diagnostics
  15. for (int i = 0; i < lists.size(); i++) {
  16. System.out.println("--- List " + (i + 1) + " ---");
  17. List<String> list = lists.get(i);
  18. System.out.println("List size: " + list.size());
  19. System.out.println("Unique elements: " + getUniqueElements(list).size());
  20. System.out.println("First 10 elements: " + list.subList(0, Math.min(10, list.size())));
  21. System.out.println("---");
  22. }
  23. }
  24. private static void loadListsFromFile(String filePath, List<String> lists) throws IOException {
  25. try {
  26. Files.lines(Paths.get(filePath)).forEach(line -> {
  27. String[] items = line.split(",");
  28. lists.add(Arrays.asList(items)); // Convert array to list
  29. });
  30. } catch (IOException e) {
  31. System.err.println("Error reading file: " + e.getMessage());
  32. throw e;
  33. }
  34. }
  35. private static Set<String> getUniqueElements(List<String> list) {
  36. Set<String> uniqueElements = new HashSet<>(list); // Use HashSet for uniqueness
  37. return uniqueElements;
  38. }
  39. }

Add your comment