關於導入數據到Excel中對數據庫進行去重以及對導入的Excel文件進行去重
阿新 • • 發佈:2017-06-06
導入 hash list() exc 數據 clear arraylist equals 需要
插入到數據庫去重:
1.將你循環讀取的List進行遍歷
2.在你即將插入到數據庫的方法之前獲取你需要查詢的數據,執行查詢方法
1 devList=deviceDao.findDevice(device.getRfid()); 2 if(devList.size()>0){ 3 messageStr = "數據重復,請重新導入!"; 4 5 }else{ 6 deviceDao.save(device); 7 messageStr = "數據導入成功!";8 }
對導入的Excel文件去重:
(1)循環List中的元素對於重復的進行刪除
1 //循環讀取的devList 2 for ( int i = 0 ; i < devList.size() - 1 ; i ++ ) { 3 for ( int j = devList.size() - 1 ; j > i; j -- ) { 4 if (devList.get(j).equals(devList.get(i))) {5 devList.remove(j); 6 } 7 } 8 }
(2)通過HashSet去除重復元素
1 //同上,list為獲取到Excel數據的list 2 HashSet h = new HashSet(list); 3 list.clear(); 4 list.addAll(h);
(3)遍歷List,看數據是否存在,使用contain
1 List listTemp = new ArrayList(); 2 for(int i=0;i<list.size();i++){ 3 if(!listTemp.contains(list.get(i))){ 4 listTemp.add(list.get(i)); 5 } 6 }
關於導入數據到Excel中對數據庫進行去重以及對導入的Excel文件進行去重