Yuan Tian created IOTDB-194: ------------------------------- Summary: Redundant field 'measurementSchemaList' in Schema.java Key: IOTDB-194 URL: https://issues.apache.org/jira/browse/IOTDB-194 Project: Apache IoTDB Issue Type: Improvement Reporter: Yuan Tian
There are two fields in Schema.java, 'measurementSchemaMap' and 'measurementSchemaList'. I don't understand the meaning of the existence of the 'measurementSchemaList' in Schema.java. If we use the following constructor and there are repetitive measurement_id in the list, this will cause the inconsistency of the above two fields. {code:java} private Map<String, MeasurementSchema> measurementSchemaMap; private List<MeasurementSchema> measurementSchemaList; public Schema(List<MeasurementSchema> measurements) { this(); this.registerMeasurements(measurements); } public void registerMeasurements(List<MeasurementSchema> measurements) { measurements.forEach((md) -> registerMeasurement(md)); } public void registerMeasurement(MeasurementSchema descriptor) { this.measurementSchemaMap.put(descriptor.getMeasurementId(), descriptor); this.measurementSchemaList.add(descriptor); } {code} If the purpose of 'measurementSchemaList' is to maintain the insertion order of the measurements, why not use LinkedHashMap, then the order of map.values() is certain. -- This message was sent by Atlassian Jira (v8.3.2#803003)