锁定老帖子 主题:一道8K的面试题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (18)
|
|
---|---|
作者 | 正文 |
发表时间:2011-09-07
List<String> list = new ArrayList<String>(); //作为测试,只存放了几条数据 list.add("###20110810$$$hello3434334343443hhh20110810"); list.add("###20110810$$$world3434334343443hhh20110810"); list.add("###20110811$$$hello3434334343443hhh20110811"); list.add("###20110811$$$world3434334343443hhh20110811"); list.add("###20110812$$$hello3434334343443hhh20110812"); list.add("###20110812$$$world3434334343443hhh20110812"); list.add("###20110813$$$hello3434334343443hhh20110813"); list.add("###20110813$$$world3434334343443hhh20110813"); list.add("###20110814$$$hello3434334343443hhh20110814"); list.add("###20110814$$$world3434334343443hhh20110814"); list.add("###20110815$$$hello3434334343443hhh20110815"); list.add("###20110815$$$world3434334343443hhh20110815"); Set<String> set = new LinkedHashSet<String>(); //代表要根据set集合分组,我也只是写了几条数据 set.add("20110810"); set.add("20110811"); set.add("20110812"); set.add("20110813"); set.add("20110814"); set.add("20110815"); 最后要封装的结果为: /** * 把每天的数据封装到map中,用对应的天做KEY,按set的值分组和排序,比如 * List<String> dayList = new ArrayList<String>(); * dayList.add("hello3434334343443hhh20110810") * dayList.add("world3434334343443hhh20110810") * map.put("20110810",dayList); *等等其他天加入进去 * map.put("20110811",dayxList); */ 要求:排序要安装set中数据来排序,最后map中得KEY的书序也要保证安装set来,哈哈,大家看看怎么样,看着很简单,其实还是不那么简单的哦? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-09-07
最后修改:2011-09-07
呵呵,其实很简单哦
public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("###20110810$$$hello3434334343443hhh20110810"); list.add("###20110810$$$world3434334343443hhh20110810"); list.add("###20110811$$$hello3434334343443hhh20110811"); list.add("###20110811$$$world3434334343443hhh20110811"); list.add("###20110812$$$hello3434334343443hhh20110812"); list.add("###20110812$$$world3434334343443hhh20110812"); list.add("###20110813$$$hello3434334343443hhh20110813"); list.add("###20110813$$$world3434334343443hhh20110813"); list.add("###20110814$$$hello3434334343443hhh20110814"); list.add("###20110814$$$world3434334343443hhh20110814"); list.add("###20110815$$$hello3434334343443hhh20110815"); list.add("###20110815$$$world3434334343443hhh20110815"); Set<String> set = new LinkedHashSet<String>(); set.add("20110810"); set.add("20110811"); set.add("20110812"); set.add("20110813"); set.add("20110814"); set.add("20110815"); /** * 把每天的数据封装到map中,用对应的天做KEY,按set的值分组和排序,比如 List<String> dayList = new * ArrayList<String>(); dayList.add("hello3434334343443hhh20110810") * dayList.add("world3434334343443hhh20110810") * map.put("20110810",dayList); map.put("20110811",dayxList); */ Map<String, List<String>> map = new LinkedHashMap<String, List<String>>(); int i = 0; for (String str : set) { List<String> dayList = new ArrayList<String>(); for (; i < list.size();i++) { if (str.equals(StringUtils.substringBetween(list.get(i), "###", "$$$"))) { dayList.add(StringUtils.substringAfter(list.get(i), "$$$")); } else { break; } map.put(str, dayList); } } for (String key : map.keySet()) { System.out.println(key); for (String str : map.get(key)) { System.out.println("-------- : " + str); } System.out.println(); } } |
|
返回顶楼 | |
发表时间:2011-09-08
你这错字比那题读起来都难
|
|
返回顶楼 | |
发表时间:2011-09-08
恕我太愚钝 看2遍 没明白说什么。
|
|
返回顶楼 | |
发表时间:2011-09-08
原来看不懂题目的不是只有我一个人,安慰。。
|
|
返回顶楼 | |
发表时间:2011-09-08
我也没懂,悲催
|
|
返回顶楼 | |
发表时间:2011-09-08
没看明白什么意思
|
|
返回顶楼 | |
发表时间:2011-09-08
自娱自乐呢?
|
|
返回顶楼 | |
发表时间:2011-09-08
lz的错字的确很悲催,但我还是明白了,lz 的意思是把 list 中的元素按照和下面的set 中的排列在排一下。
其实也没有什么 |
|
返回顶楼 | |
发表时间:2011-09-08
我大胆的揣测一下:安装==按照;书序==顺序!!最后想要达到的目的是得到map,map的key是:时间,value是:诸如此类的字符串“##20110811$$$hello3434334343443hhh20110811”。直接分析字符串不就得了。先从set中得到key,然后根据key去arraylist中找相关内容!!
|
|
返回顶楼 | |