package aasdfsa;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import org.apache.commons.collections.Bag;
import org.apache.commons.collections.bag.HashBag;
public class TwoArrayList {
/**
* @param args
*/
public static void main(String[] args) {
TwoArrayList t = new TwoArrayList();
List<String> one = new ArrayList<String>();
List<String> two = new ArrayList<String>();
long now = System.currentTimeMillis();
int bigtime = 1000;//运行时间
Random r = new Random();
int key = 100000;//取值范围
for(;;){
int rr = r.nextInt(key);
one.add(""+rr);
rr = r.nextInt(1000);
if(r.nextBoolean())two.add(""+rr);
if(now+bigtime < System.currentTimeMillis()){
break;
}
}
System.out.println("first:"+one.size());
System.out.println("next:"+two.size());
System.out.println("union:"+t.union(one,two).size());
}
public List<String> union(List<String> one ,List<String> two){
Bag bag1 = new HashBag(one);
Bag bag2 = new HashBag(two);
Set<String> set = new HashSet<String>();
List<String> result = new ArrayList<String>();
set.addAll(one);
set.addAll(two);
System.out.println("totle:"+set.size());
for (String temp : set) {
long first = bag1.getCount(temp);
long secend = bag2.getCount(temp);
for(int i = 0 ; i < Math.min(first, secend);i++){
result.add(temp);
}
}
return result;
}
}
分享到:
相关推荐
求两集合的交集 求两个集合的交集 CPP文件
上面以两个集合为例说明了交集和并集的求法,事实上,上述算法可以很方便的扩展到3个或3个以上的集合 的求交集和求并集。另外求并集时,由于哈希表的值(VALUE)部分不需要用到,所以这个数据结构也可以更换为 ...
求两个整型(int型)集合的交集,所用到的语言为C#语言。
已知两个集合,求这两个集合的交集和并集的MATLAB代码,txt文档
1.有序顺序表的元素按照从小到大有序存储; 2.实现有序顺序表的类模板,它的操作如下: ...3.用有序顺序表表示集合,实现两个有序顺序表的并和交(并和交仍是有序顺序表)并分析它们的时间复杂度;
C++ stl set 求集合的交集并集差集 编译环境为dev C++
字符串数组交集 集合交集。字符串数组交集 集合交集
c++程序设计实现集合交集并集差集.pdf
集合的交集、并集、差集运算是考察的常规内容,这里给出交集的代码,并集跟差集的类似
cout请输入A集合中的数,以数字0结束:"; while(1){ cin>>x; if(x==0) break; a.insert(i,x); i++; cout; } cout; cout请输入B集合中的数,以数字0结束:"; while(1){ cin>>y; if(y==0) break; b....
设 A={a1,a2,…,an}, B={b1,b2,…,bn}是整数集合,其中 m=O(log n)。要求设计一个算法求集 合 C=A∩B。提示:使用二分查找技术。
求两个集合的交集。 【输入形式】 从标准输入中读取两行以空格符分隔的正整数,每行整数的个数不大于100,整数值不超过1000,可能有重复的数。 【输出形式】 将每行看成一个集合,将交集元素...
用于处理数据,求两个集合的交集、并集、补集。附源码。
集合两个,分别通过数组存储,然后进行排序,输出两个集合的交集
已知两个单链表 LA 和 LB 分别表示两个集合,其元素递增排序,设计算法求出 LA 和 LB 的交集 C ,要求 C 同样以元素递增的单链表形式存储。
2、嗯,.NET中所有的sort,compare都支持自定义“比较方法”继承这个接口即可 您可能感兴趣的文章:C#中Linq查询基本操作使用实例c#中LINQ的基本用法实例C# linq查询之动态OrderBy用法实例C#中的Linq Intersect与...
JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集...
一个用c语言求两个整数集合的交集的程序,其中使用的函数的调用以及文件的使用,其中调用的文本请自行创建,很简单的
利用带头结点的单链表实现两个集合的并、交、差运算 1.题目重述 2.题目功能描述 3. 概要设计图 4. 程序源代码及注释 5. 流程图 6. 截图与数据分析 7.所采用的存储结构的优缺点及采用理由 8.实验心得体会
自创 链表 C++ 集合运算,是学习C++常会遇到的题目