Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对地图项目进行排序并删除一个?_Java_Object_Map_Hashmap - Fatal编程技术网

Java 如何对地图项目进行排序并删除一个?

Java 如何对地图项目进行排序并删除一个?,java,object,map,hashmap,Java,Object,Map,Hashmap,我使用以下代码在地图中保留对象列表 Map<String, List<Rows>> map = new HashMap<String, List<Rows>>() while( rs.next() ) { Rows row = new Rows(); /* * code to initialize the values of row from the record */ String

我使用以下代码在地图中保留对象列表

 Map<String, List<Rows>> map = new HashMap<String, List<Rows>>()
 while( rs.next() ) {
      Rows row = new Rows();
      /*
       * code to initialize the values of row from the record
      */
     String category = rs.getString("Cat");
     if(!map.containsKey(category)){
         map.put(category, new ArrayList<Rows>());
     }
     map.get(category).add(row);
  }
Map Map=newhashmap()
while(rs.next()){
行=新行();
/*
*用于初始化记录中行的值的代码
*/
字符串类别=rs.getString(“Cat”);
如果(!map.containsKey(类别)){
put(category,newarraylist());
}
map.get(category).add(row);
}
是否可以对每个类别的值进行排序?
如何删除特定类别中的项目?

@Eme如果您想要一个按其键排序的映射,则称之为

此外,如果要从特定类别的列表中删除其中一项,可以执行以下操作:

List<Row> list = map.get(category);
list.remove(index of element you want to remove);
map.put(category, list);
List List=map.get(类别);
list.remove(要删除的元素的索引);
地图放置(类别、列表);

是否可以对类别中的值进行排序: 使用“而不是列表”可以在添加值时对其进行排序


要删除,可以使用map.get(category).remove(row);或者创建一个从map继承并覆盖remove(..)的新类。您可以在此处放置代码以从附加到特定键的列表中删除,而不是从映射本身中删除。

要删除项,请使用
remove()
映射方法:

map.删除(类别)

据我所知,每个类别的项目都存储在列表中,因此排序很简单:

Collections.sort(map.get(category))

您可以使用自定义的
比较器
自定义排序

编辑:


但是,如果您希望将键排序到地图中,则必须使用
SortedMap
,例如
TreeMap
,并可能提供知道比较类别的比较器。否则键将按字母顺序排序。

使用列表将项目存储在您的类别中。有一个API函数来对列表进行排序。并使用(map.remove(category)).get(0)获取类别列表中的第一项

是否要对每个类别的值ArrayList进行排序,对吗?这就是为什么在上一篇文章中我要求您使用map of map的原因