有关List查找的问题
来源:互联网 发布:淘宝怎么合并订单 编辑:程序博客网 时间:2024/05/22 10:40
/**
* 高效率查找相同的元素或者不同的元 效率相对于最高的
* @param list1
* @param list2
* @return
*/
public static List<String> getDiffrent(List<String> list1,List<String> list2){
Map<String,Integer> map = new HashMap<String,Integer>(list1.size()+list2.size());
List<String> diff = new ArrayList<String>();//存放不同的元素
List<String> diffs = new ArrayList<String>();//存放相同的元素
List<String> maxList = list1;
List<String> minList = list2;
if(list2.size()>list1.size()){
maxList = list2;
minList = list1;
}
for(String string : maxList){
map.put(string, 1);
}
for(String string : minList){
Integer cc = map.get(string);
if(cc!= null){
map.put(string, ++cc);
continue;
}
map.put(string, 1);
}
//取出不同的元素
for(Map.Entry<String, Integer> entry :map.entrySet()){
if(entry.getValue() == 1){
diff.add(entry.getKey());////取出不同的元素
}
if(entry.getValue() >=2){
diffs.add(entry.getKey());//取出相同的元素;存放相同的元素
}
}
return diff;
}
/**
* zhaohe
* 查找出两个List当中相同的元素
* @param x
* @param y
* @return
*/
public static List<String> listEqual(List<String> x,List<String> y){
List<String> listString = null;
try {
listString = new ArrayList<String>();
for(String x1 : x){
for(String y1 : y){
if(x1.equals(y1) || x1 == y1){
listString.add(y1);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return listString;
}
/**
* zhaohe
* 比较两个List<String>当中是否存在相同的数据 效率比较低
* @param x
* @param y
* @return
*/
public static boolean compareToList(List<String> x,List<String> y){
boolean flag = false;
for(String x1 : x){
for(String y1 : y){
if( x1.equals(y1) || x1 == y1 ){
flag = true;
break;
}
}
}
return flag ;
}
/**
* 查找一个List<String> 相同的元素
* @return
*/
public static List<String> findSameListString(List<String> list){
List<String> diffList = new ArrayList<String>();
Map<String,Integer> map = new HashMap<String,Integer>();
for(String string : list){
Integer cc = map.get(string);
if(cc!= null){
map.put(string, ++cc);
continue;
}
map.put(string, 1);
}
for(Map.Entry<String, Integer> entry :map.entrySet()){
if(entry.getValue() >=2){
diffList.add(entry.getKey());//取出相同的元素;存放相同的元素
}
}
return diffList;
}
* 高效率查找相同的元素或者不同的元 效率相对于最高的
* @param list1
* @param list2
* @return
*/
public static List<String> getDiffrent(List<String> list1,List<String> list2){
Map<String,Integer> map = new HashMap<String,Integer>(list1.size()+list2.size());
List<String> diff = new ArrayList<String>();//存放不同的元素
List<String> diffs = new ArrayList<String>();//存放相同的元素
List<String> maxList = list1;
List<String> minList = list2;
if(list2.size()>list1.size()){
maxList = list2;
minList = list1;
}
for(String string : maxList){
map.put(string, 1);
}
for(String string : minList){
Integer cc = map.get(string);
if(cc!= null){
map.put(string, ++cc);
continue;
}
map.put(string, 1);
}
//取出不同的元素
for(Map.Entry<String, Integer> entry :map.entrySet()){
if(entry.getValue() == 1){
diff.add(entry.getKey());////取出不同的元素
}
if(entry.getValue() >=2){
diffs.add(entry.getKey());//取出相同的元素;存放相同的元素
}
}
return diff;
}
/**
* zhaohe
* 查找出两个List当中相同的元素
* @param x
* @param y
* @return
*/
public static List<String> listEqual(List<String> x,List<String> y){
List<String> listString = null;
try {
listString = new ArrayList<String>();
for(String x1 : x){
for(String y1 : y){
if(x1.equals(y1) || x1 == y1){
listString.add(y1);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return listString;
}
/**
* zhaohe
* 比较两个List<String>当中是否存在相同的数据 效率比较低
* @param x
* @param y
* @return
*/
public static boolean compareToList(List<String> x,List<String> y){
boolean flag = false;
for(String x1 : x){
for(String y1 : y){
if( x1.equals(y1) || x1 == y1 ){
flag = true;
break;
}
}
}
return flag ;
}
/**
* 查找一个List<String> 相同的元素
* @return
*/
public static List<String> findSameListString(List<String> list){
List<String> diffList = new ArrayList<String>();
Map<String,Integer> map = new HashMap<String,Integer>();
for(String string : list){
Integer cc = map.get(string);
if(cc!= null){
map.put(string, ++cc);
continue;
}
map.put(string, 1);
}
for(Map.Entry<String, Integer> entry :map.entrySet()){
if(entry.getValue() >=2){
diffList.add(entry.getKey());//取出相同的元素;存放相同的元素
}
}
return diffList;
}
1 0
- 有关List查找的问题
- 有关字符串查找的问题
- 有关style的查找
- 查找的有关操作
- dwz中“查找返回”中文参数值的有关问题
- xcode crash 查找 EXC_BAD_ACCESS 有关问题根源的方法
- 有关List的使用
- 有关《查找两个List中的不同元素》的问题解答与编程实践
- 有关二分查找的STL
- 五 查找的有关操作
- stl list的查找
- Android 中怎样查找SELinux导致的权限受限有关问题
- List有关
- 有关JBoss的问题
- 有关网上邻居的问题
- 有关网上邻居的问题
- 有关MMU的问题!
- 有关随机数的问题
- Android实现伸缩弹力分布菜单效果
- 谷歌地图(Google Maps)
- as3中强制垃圾回收
- linux上远程备份mysql数据库
- vsftpd虚拟用户
- 有关List查找的问题
- SIP(Session Initiation Protocol,会话初始协议)
- iOS 高效添加圆角效果实战讲解
- python 正则表达式 () findall
- 再谈MD5
- java 使用反射,动态扩展程序
- 合并两个已排序数组
- JavaScript学习笔记——Global、Math对象
- iOS 视图缩放或旋转中中心点(AnchorPoint)的设定