基本上我有一個需要分類的項目名稱數組。這些項目需要根據條件進行分類。例如,項目名稱需要以book
結束。什麼是分類的好方法?從條件分類項目
例如,這些類:
- 圖書
- 食品
陣列內:[狗書,生肉類,魚類,另一個樣品書]
基本上我有一個需要分類的項目名稱數組。這些項目需要根據條件進行分類。例如,項目名稱需要以book
結束。什麼是分類的好方法?從條件分類項目
例如,這些類:
陣列內:[狗書,生肉類,魚類,另一個樣品書]
有String類中的很多方法可以做到這一點,您可以使用endsWith(),contains(),startsWith()方法來查看一個String值是否有一些子字符串,然後相應地對它們進行分類。
我不認爲這就是他所問的。他想知道如何對它進行分類。我相信他已經知道String.endsWith()。 – Bug
@ Bug,是的。而不是有很多if else語句..我正在尋找更好的OO方式來做到這一點。 –
然後使用一個開關,並使用不同的情況進行分類。 –
可以使用的東西LinkedHashMap中像這樣,只是通過原迭代,
例如:
HashMap<String, String> originalmap = new HashMap<String,String>();
Map<String, String> newmap = new LinkedHashMap<String, String>();
for(Entry<String,String> e : originalmap.entrySet()){
if(e.getKey().endsWith("book"){
newmap.add(e.getKey(), e.getValue());
}
}
//newmap will have all the book entries in the order they were set
既然有父子樣的關係,我建議你使兩類:
項目
類範疇,可就是這樣
public class Category {
private ArrayList<Items>;
//setters and getters
}
或者如果你是完全依賴於數據結構,你可以使用地圖這樣的:
Map dataStructure = new HashMap<String, String[]>();
String category= "book";
String items[] = {"Dog book", "Another sample book"};
dataStructure.put(category,items);
你張貼陣列的例子,你從哪裏獲得條件?你問的是數據結構還是比較函數? –
@PritamBanerjee - 我剛剛編輯了我原來的帖子。我在詢問數據結構。 –
你可以檢查我在答案中發佈的數據結構。您可以使用該類或數據結構。雖然推薦使用類方法。 –