java代码兑现的sql语句效果

java代码实现的sql语句效果

 

之前面试遇到了一个题,让用java语言实现一个sql查询效果,分享一下


1、给了一个txt文件,里面的数据如下:

 

编号,姓名,客户,订单
1,李刚,美食天下,100.1
2,李刚,大街网,200.34
3,李刚,搜哈,300.54
4,赵四,大街网,500.16
5,李刚,美食天下,300.78
6,李刚,大街网,600.09
 

2、用java实现如下效果:

 

select 客户,订单总量 from 表 where 姓名="李刚" group by 客户

 

3、我写的具体实现如下,如有不妥,欢迎拍砖

 

	public static void read(){
		String fileName ="D:/workspace_new/Exam/src/com/test/file.txt"; 
		
		try { 
			BufferedReader br =new BufferedReader(new FileReader(fileName)); 
			List<String> list = new ArrayList<String>();
			Map<String, Double> map = new HashMap<String, Double>();
			while (true) { 
				String str = br.readLine(); 
				if(str == null){
					break;
				}
				String[] array = str.split(","); 
				if(array[1].equals("李刚")){
					double sales = 0;
					if(!list.contains(array[2])){
						list.add(array[2]);
						sales = Double.valueOf(array[3]);
					}else{
						sales = map.get(array[2]) + Double.valueOf(array[3]);
					}
					map.put(array[2], sales);
				}
			}
			
			Iterator it = map.entrySet().iterator();
			while(it.hasNext()){
				Entry entry = (Entry)it.next();
				Object key = entry.getKey();
				Object value = entry.getValue();
				System.out.println("李刚" + "\t" + key.toString() + "\t" + value.toString());
			}
			
		}catch (IOException e) { 
			e.printStackTrace(); 
		}
	}

 

 

以上就是实现的主体方法,附上我的java工程

1 楼 xiaozpjava 2012-09-05  
请问这个意义到底有多大
2 楼 HuNanPengdake 2012-09-06  
xiaozpjava 写道
请问这个意义到底有多大

请问楼上看清内容没,人家说的是面试题,面试题有几个是有意义的