1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. class MonitoringStructure {
  6. private List<List<Object>> data; // Nested array structure
  7. private Map<String, Object> metadata; // Metadata associated with the structure
  8. public MonitoringStructure() {
  9. data = new ArrayList<>();
  10. metadata = new HashMap<>();
  11. }
  12. public void addData(List<Object> row) {
  13. data.add(row);
  14. }
  15. public Object getData(int row, int col) {
  16. if (row >= 0 && row < data.size() && col >= 0 && col < data.get(row).size()) {
  17. return data.get(row).get(col);
  18. }
  19. return null; // Fallback: Return null if index is out of bounds.
  20. }
  21. public Map<String, Object> getMetadata() {
  22. return metadata;
  23. }
  24. public void setMetadata(Map<String, Object> metadata) {
  25. this.metadata = metadata;
  26. }
  27. }
  28. public class ArrayMonitor {
  29. public static MonitoringStructure createStructure() {
  30. return new MonitoringStructure();
  31. }
  32. public static void main(String[] args) {
  33. MonitoringStructure structure = createStructure();
  34. // Add some data
  35. List<Object> row1 = new ArrayList<>();
  36. row1.add(1);
  37. row1.add("A");
  38. row1.add(10.5);
  39. structure.addData(row1);
  40. List<Object> row2 = new ArrayList<>();
  41. row2.add(2);
  42. row2.add("B");
  43. row2.add(20.0);
  44. structure.addData(row2);
  45. // Access data
  46. Object value = structure.getData(0, 1); // Accessing row 0, column 1
  47. if (value != null) {
  48. System.out.println("Value at row 0, column 1: " + value);
  49. } else {
  50. System.out.println("Index out of bounds.");
  51. }
  52. // Access metadata
  53. Map<String, Object> metadata = structure.getMetadata();
  54. System.out.println("Metadata: " + metadata);
  55. // Example of fallback: accessing out-of-bounds index
  56. Object outOfBounds = structure.getData(1, 5);
  57. if (outOfBounds != null) {
  58. System.out.println("Value at row 1, column 5: " + outOfBounds);
  59. } else {
  60. System.out.println("Index out of bounds.");
  61. }
  62. structure.setMetadata(new HashMap<>());
  63. System.out.println("Updated Metadata: " + structure.getMetadata());
  64. }
  65. }

Add your comment