2017-04-20 64 views
-3

我是新來的Java。我有下面的地圖定義:如何在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類?任何建議?

+2

什麼是你想要做什麼呢? – Berger

+2

@Berger正要問同樣的問題。這個問題很不明確。 – Carcigenicate

+0

是的,對不起,對Java術語還不太熟悉。 –

回答

0

而不是使用的地圖,創建一個類有三個字段:

  1. 字符串fileTypeName
  2. 字符串COLUMNNAME
  3. INT記錄

然後,把數據放到一個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. 
}