论坛首页 Java企业应用论坛

一道8K的面试题

浏览 24346 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (18)
作者 正文
   发表时间:2011-09-09  
8K,就是哗众取宠,果断隐藏!
0 请登录后投票
   发表时间:2011-09-09  
哎呀 杯具呀
0 请登录后投票
   发表时间:2011-09-09  
哥呀 你要表达的啥啊 根本没看懂 你还是别用白话说了
0 请登录后投票
   发表时间:2011-09-09  
package someTest;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class TestPack {
	@SuppressWarnings("unchecked")
	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集合分组,我也只是写了几条数据 
		set.add("20110810"); 
		set.add("20110811"); 
		set.add("20110812"); 
		set.add("20110813"); 
		set.add("20110814"); 
		set.add("20110815"); 
		
		Map<String,List> map=new LinkedHashMap<String,List>();
		Object[] keyObs=set.toArray();
		Object[] keyList=list.toArray();
		for(int i=0;i<keyObs.length;i++){
			String key=(String) keyObs[i];
			for(int j=0;j<keyList.length;j++){
				 List<String> dayList = new ArrayList<String>(); 
				String listValue=(String)keyList[j];
				String listKey=listValue.substring(listValue.indexOf("###")+3, listValue.indexOf("$$$"));
				String value=listValue.substring(listValue.indexOf("$$$")+3, listValue.length());
				if(key.equals(listKey)){
					List<String> ob=map.get(key);
					if(null != ob){
						if(ob.contains(value)){
							continue;
						}else{
							ob.add(value);
						}
						map.put(key, ob);
					}else{
						dayList.add(value);
						map.put(key, dayList);
					}
				}
			}
		}
		System.out.println(map);
	}
	
}


自己小测了一下!
0 请登录后投票
   发表时间:2011-09-09  

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

public class Split {

	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");

		Map<String, List<String>> map = new TreeMap<String, List<String>>();

		String previous = null;
		String temp = null;

		List<String> l = null;

		for (int i = 0; i < list.size(); i++) {
			String[] StringArray = list.get(i).substring(3).split("\\$\\$\\$");
			temp = StringArray[0];

			if (map.get(temp) == null) {
				l = new ArrayList<String>();
				l.add(StringArray[1]);
				map.put(StringArray[0], l);
				previous = temp;
			} else {
				if (temp.equals(previous)) {
					map.remove(StringArray[0]);
					l.add(StringArray[1]);
					map.put(StringArray[0], l);
				}
			}

		}

		System.out.println(map);
	}

}

结果:

{20110810=[hello3434334343443hhh20110810, world3434334343443hhh20110810],
 20110811=[hello3434334343443hhh20110811, world3434334343443hhh20110811],
 20110812=[hello3434334343443hhh20110812, world3434334343443hhh20110812], 
 20110813=[hello3434334343443hhh20110813, world3434334343443hhh20110813],
 20110814=[hello3434334343443hhh20110814, world3434334343443hhh20110814], 
 20110815=[hello3434334343443hhh20110815, world3434334343443hhh20110815]}


不知符合意思吗?

0 请登录后投票
   发表时间:2011-09-09  
看见你的题目欣喜的进来了,看了你的内容蛋疼的出去了。。。
0 请登录后投票
   发表时间:2011-09-09  
让lz给搞晕了~~语文需要进一步强化一下
0 请登录后投票
   发表时间:2011-09-09  
如果我是面试关,这个题目这样答只能给30分。
0 请登录后投票
   发表时间:2011-09-09  
irshinning 写道
原来看不懂题目的不是只有我一个人,安慰。。


我也没看明白啥意思。
0 请登录后投票
   发表时间:2011-09-09  
呵呵呵,我也没看明白啥意思
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics