java:将对象添加到新的ArrayList,无需参数化列表

标签 java arrays list arraylist parameterized

我需要将对象添加到新的ArrayList:

private Map<String,List<MyObject>> populateMapFromList2(List<MyObject> dataSourceList){
Map<String,List<MyObject>> moMap = new HashMap<String, List<MyObject>>();
for (MyObject mo : dataSourceList){
    String firstLetter = (mo.getName().substring(0,1)).toUpperCase();
    if (!moMap.containsKey(firstLetter)) {
        moMap.put(firstLetter,new ArrayList<MyObject>());
    }
    moMap.get(firstLetter).add(mo);
}
return moMap;

}

行中:new ArrayList<MyObject>()我要添加mo 喜欢:new ArrayList<DataSource>().add(mo)

但它是一个 boolean 值(看图)。 还有另一种方法可以首次向非参数化列表添加值吗? 或者这是唯一的方法? List<MyObject> initList = new ArrayList<MyObject>(); initList.add(mo); moMap.put(firstLetter,initList);

谢谢

最佳答案

您仍然可以使用以下语法:

List<MyObject> initList = new ArrayList<MyObject>() {{ add(mo); }}

或者使用Google Guava,您可以使用Lists.newArrayList(mo)

您应该考虑使用 MultiMap对于您想要实现的目标(值为列表的映射)。请注意,Apache Common 有一个 MultiMap实现太,你也可以看看 DefaultedMap类。

关于java:将对象添加到新的ArrayList,无需参数化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971223/

相关文章:

java - 带硬件 token key 的 SSLSocket

java - ReSTLet 客户端卡住 HTTPS 请求

python - 查找一个 numpy 数组在另一个 numpy 数组中的行列的最有效方法是什么?

python - 如何对时间值列表进行排序?

python - 做列表数学 - python

java - 在 Freemarker 中将 java.lang.Iterable 视为 #list 表达式

java - 如何使用自定义@Rule正确配置@RunWith(Parameterized.class) + SpringClassRule + SpringMethodRule?

java - 处理线程最大执行时间的最佳方法(在 Java 中)

arrays - vba将公式复制到多个单元格

c# - 从解决方案中的另一个文件访问 Windows 形式的数组