import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class MonitoringStructure {
private List<List<Object>> data; // Nested array structure
private Map<String, Object> metadata; // Metadata associated with the structure
public MonitoringStructure() {
data = new ArrayList<>();
metadata = new HashMap<>();
}
public void addData(List<Object> row) {
data.add(row);
}
public Object getData(int row, int col) {
if (row >= 0 && row < data.size() && col >= 0 && col < data.get(row).size()) {
return data.get(row).get(col);
}
return null; // Fallback: Return null if index is out of bounds.
}
public Map<String, Object> getMetadata() {
return metadata;
}
public void setMetadata(Map<String, Object> metadata) {
this.metadata = metadata;
}
}
public class ArrayMonitor {
public static MonitoringStructure createStructure() {
return new MonitoringStructure();
}
public static void main(String[] args) {
MonitoringStructure structure = createStructure();
// Add some data
List<Object> row1 = new ArrayList<>();
row1.add(1);
row1.add("A");
row1.add(10.5);
structure.addData(row1);
List<Object> row2 = new ArrayList<>();
row2.add(2);
row2.add("B");
row2.add(20.0);
structure.addData(row2);
// Access data
Object value = structure.getData(0, 1); // Accessing row 0, column 1
if (value != null) {
System.out.println("Value at row 0, column 1: " + value);
} else {
System.out.println("Index out of bounds.");
}
// Access metadata
Map<String, Object> metadata = structure.getMetadata();
System.out.println("Metadata: " + metadata);
// Example of fallback: accessing out-of-bounds index
Object outOfBounds = structure.getData(1, 5);
if (outOfBounds != null) {
System.out.println("Value at row 1, column 5: " + outOfBounds);
} else {
System.out.println("Index out of bounds.");
}
structure.setMetadata(new HashMap<>());
System.out.println("Updated Metadata: " + structure.getMetadata());
}
}
Add your comment