如何在java中定义一个map类?

时间:2017-04-20 13:48:59

标签: java hashmap

我是Java的新手。我已经定义了以下地图:

HashMap<String, Integer> data_validation = new HashMap<String, Integer>();

data_validation.put("ACF:T_RECORDS", 66);
data_validation.put("ADF:V_RECORDS", 88);

Set set = data_validation.entrySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
    Map.Entry mentry = (Map.Entry) iterator.next();
    String file_type_name = mentry.getKey().toString().split(":")[0];
    String column_name = mentry.getKey().toString().split(":")[1];
    Integer records = Integer.parseInt(mentry.getValue().toString());
}

我想知道如何重构上面的代码。如何为此创建Java类?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

创建一个包含三个字段的类,而不是使用地图:

  1. String fileTypeName
  2. String columnName
  3. int records
  4. 然后,将数据放入List,填写这些字段,而不是执行此字符串解析/操作。

    List<MyClass> dataValidation = new ArrayList<>();
    dataValidation.add(new MyClass("ACF", "T_RECORDS", 66));
    dataValidation.add(new MyClass("ADF", "V_RECORDS", 88));
    

    MyClass类似于:

    public class MyClass {
        private String fileTypeName;
        private String columnName;
        private int records;
    
        public MyClass(String fileTypeName, String columnName, int records) {
            this.fileTypeName = fileTypeName;
            this.columnName = columnName;
            this.records = records;
        }
    
        // Add getters, setters.
    }