作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个跨越数年的日期数组列表,即 ArrayList<Date> dateList
我有一个对象代表每年的月份网格,即
public class DateTileGrid
{
private int mCurrentYear;
private ArrayList<Date> mDateTiles;
... // GETTERS AND SETTERS
}
我想创建一个ArrayList<DateTileGrid>
其中将包含每年的相关日期。
我知道如何使用循环(令人讨厌的嵌套循环)来做到这一点,但我希望有一种更干净的方法来实现这一点。
最佳答案
在 java 8 闭包到来之前,这可能就是您所需要的
HashMap<Integer, DateTileGrid> dataGridMap = new HashMap<>();
for (Date date: dateList) {
int year = date.getYear(); //Deprecated.. use something better
DateTileGrid dataGrid = dataGridMap.get(year);
if(dataGrid == null){
dataGrid = new DateTileGrid();
dataGrid.setCurrentYear(year);
dataGrid.setDateTiles(new ArrayList<Date>());
dataGridMap.put(year, dataGrid);
}
dataGrid.getDateTiles().add(date);
}
//Here is your result
ArrayList<DateTileGrid> result = new ArrayList<>(dataGridMap.values());
关于java - Java中从给定Collection(Group By)创建子集合的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160727/
我以前使用过像 Netbeans 和 eclipse 这样的 IDE。 我在 friend 的电脑上下载了“Visual Studio Express 2013 for windows desktop
我正在尝试弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的事情。 如果我选择一个 block 并对其进
Filter1=re.findall(r'',PageSource) Filter2=re.findall(r'',PageSource) Filter3=re.findall(r'(.*?).*?'
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我是一名优秀的程序员,十分优秀!