使用条件对数组中的项进行分类

时间:2016-01-12 19:14:14

标签: java

基本上我有一系列需要分类的项目名称。这些项目需要根据条件进行分类。例如,项目名称需要以book结尾。什么是分类的好方法?

例如,这些类别:

  • 图书
  • 食品

在阵列中:[狗书,生肉,鱼,另一本样本书]

3 个答案:

答案 0 :(得分:1)

您可以将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

答案 1 :(得分:0)

由于父母有一种关系,我建议你做两个班:

  1. 分类
  2. 产品

    班级类别可以是这样的

    Declare @update_query nvarchar(max)
    
    select 
        @update_query = 'sp_rename ''' + t.TABLE_NAME + '.' + c.COLUMN_NAME + ''',''' + 'fieldB' + ''',''' + 'COLUMN' + ''''
    From INFORMATION_SCHEMA.COLUMNS c JOIN INFORMATION_SCHEMA.Tables t ON c.TABLE_CATALOG = t.TABLE_CATALOG AND c.TABLE_SCHEMA = t.TABLE_SCHEMA AND c.TABLE_NAME = t.TABLE_NAME
    WHERE
        c.COLUMN_NAME = 'fieldA'
    
    SELECT @update_query
    
    EXEC sp_executesql @update_query
    
  3. 或者,如果您完全依赖于数据结构,则可以使用以下地图:

    public class Category {  
       private ArrayList<Items>;
     //setters and getters  
    }
    

答案 2 :(得分:-1)

String类中有很多方法可以执行此操作,您可以使用endsWith(),contains(),startsWith()方法查看String值是否具有某个子字符串,然后相应地对它们进行分类。