/**
*  这是目前我了解到速度最快的一种
*/
@SuppressWarnings("unchecked")
public static List<String> listrem(List<String> listA,List<String> listB){
HashSet hs1 = new HashSet(listA);
HashSet hs2 = new HashSet(listB);
hs1.removeAll(hs2);
List<String> listC = new ArrayList<String>();
listC.addAll(hs1);
return listC;
}

/**
* 从listA里删除listB里有的数据
* @param listA
* @param listB
* @return
*/
public static List<String> listrem(List<String> listA,List<String> listB){
for (Iterator<String> itA = listA.iterator(); itA.hasNext();)
{
String temp = itA.next();
// itA.next() 只能在外层循环里面调用1次
for (int i = 0; i < listB.size(); i++)
{
if (temp.equals(listB.get(i)))
// 你不该在这里多次调用itA.next()的
{
itA.remove();
}
}
}
return listA;
}
/**
* 获取listA单方面的相同和不同
* @param listA 源数据
* @param listB 对比值
* @param listC 相同的
* @param listD 不同的
* @return list<String>
*/
public static List<String> getDifferListByMap(List<String> listA,List<String> listB){
List<String> listC = new ArrayList<String>();
List<String> listD = new ArrayList<String>();
Map<String,Integer> map = new HashMap<String,Integer>();
for(String strA:listA){
map.put(strA.replace(" ", ""), 1);
}
for(String strB:listB){
Integer value = map.get(strB.replace(" ", ""));
if(value != null){
listC.add(strB);
continue;
}else{
listD.add(strB);
continue;
}
}
return listD;
}

最新文章

  1. 使用注解匹配Spring Aop切点表达式
  2. ASP.Net Core 里是如何把一个普通的 Action 返回类型转换为某种 IActionResult 的
  3. Spring 学习笔记 4. 尚硅谷_佟刚_Spring_属性配置细节
  4. 查看ORACLE的实际执行计划
  5. centos 6.4 系统代理上网 设置
  6. python and django
  7. Sprint会议-初步组织划分
  8. GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】
  9. HUST 1017 Exact cover dance links
  10. Mongodb FAQ 存储(storage)篇
  11. Hibernate 多对多关联Demo
  12. C函数的实现(strcpy,atoi,atof,itoa,reverse)
  13. MSSQL - 多表查询
  14. [CLR via C#]1.5 本地代码生成器:NGen.exe
  15. HTML 5 在Web SQL 使用演示样本
  16. html中的空白字符问题
  17. Python基础_函数2
  18. laravel-Policy步骤
  19. 面试之路(6)-BAT面试之操作系统内存详解
  20. 优雅的使用windows

热门文章

  1. Android blueZ HCI(一个):hciconfig实施和经常使用
  2. [LeetCode OJ] Copy List with Random Pointer 扩大
  3. Git Bash Cmd命令笔记
  4. Windows 10开发基础——网络编程
  5. C#匹配中文字符串的4种正则表达式分享
  6. Windows 8各种流之间的转换
  7. 利用shell脚本实现计划任务功能 V1.2
  8. win10应用开发——如何判断应用是在手机上运行还是电脑上运行
  9. 关于EF ORM 框架的使用问题
  10. 进程间通信 - 动态链接库中共享内存(利用DLL的2~3G的地址段空间)