本文目录一览:
- 1、java求交集和并集
- 2、用java编写程序,求集合的并集、交集和差集
- 3、在JAVA中如何求两个数组的并集
- 4、请教Java怎么实现两个集合求并集
- 5、java 并集 数组/集合 有重复元素需 保留(急)
java求交集和并集
虽然想尽量维持你程序的原型,但是还是改的差不多了。学java注重的是面向对象的思想,建议你不要把太多精力放在这些算法上面,不能再像学习C语言那样学习java。
public class Group{
public void jiaoji(int[] a,int[] b){
for(int i=0;ia.length;i++){
for(int j=0;jb.length;j++){
if(a[i]==b[j]){
System.out.print(a[i]+",");
}
}
}
}
public void bingji(int[] a,int[] b){
for(int i=0;ia.length;i++){
System.out.print(a[i]+",");
}
for(int i=0;ib.length;i++){
boolean flag=true;
for(int j=0;ja.length;j++){
if(b[i]==a[j]){
flag=false;
}
}
if(flag){
System.out.print(b[i]+",");
}
}
}
public static void main(String[] args){
int a[]={1,2,3,4,5};
int b[]={4,5,6,7,8};
Group group=new Group();
System.out.print("交集为:");
group.jiaoji(a,b);
System.out.print("\n并集为:");
group.bingji(a,b);
}
}
用java编写程序,求集合的并集、交集和差集
public static void main(String[] args) {
Integer[] A = {1,2,3,4};
Integer[] B = {1,3,7,9,11};
ListInteger listA = Arrays.asList(A);
ListInteger listB = Arrays.asList(B);
ListInteger jiaoji = new ArrayListInteger();
for(Integer a:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
ListInteger bingji = new ArrayListInteger();
for(Integer a:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integer b:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}
System.out.println(bingji);
ListInteger chaji = new ArrayListInteger();
for(Integer a:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}
在JAVA中如何求两个数组的并集
public static void main(String[] args)
{
Integer[] m = { 1, 2, 3, 4, 5 };
Integer[] n = { 3, 4, 6 };
Integer[] b = getB(m, n); for (Integer i : b)
{
System.out.println(i);
}
}
private static Integer[] getB(Integer[] m, Integer[] n)
{ // 将数组转换为set集合
SetInteger set1 = new HashSetInteger(Arrays.asList(m));
SetInteger set2 = new HashSetInteger(Arrays.asList(n)); // 合并两个集合 set1.addAll(set2);
Integer[] arr = {}; return set1.toArray(arr);
}
请教Java怎么实现两个集合求并集
可以用一个for循环进行判断,如果没有就添加到集合里,如果有就return,可以这样写
int []a ={1001,1003}
int []b ={1002,1004}
for(int i=0;ia.length;i++){
if(a.contain(b[i])){
return ;
}else{
a.[a.length+1]=b[i]
}
}
数组应该有个判断是否包含的方法,我记不太清了,你找一下用快捷键
java 并集 数组/集合 有重复元素需 保留(急)
双重循环遍历就可以了,将b中所有的数在a中遍历一遍
public static void main (String[] args) {
String[] a = {"1","ab","ab","3"};
String[] b = {"ab", "3","4","4"};
ListString c = new ArrayListString();
for (int i = 0; i a.size(); ++ i) {
c.add(a[i]);
}
for (int i = 0; i b.size(); ++ i) {
Boolean bFlag = true;
for (int j = 0; j a.size(); ++ j) {
if (b[i] == a[j]) {
bFlag = false;
break;
}
}
if (bFlag) {
c.add(b[i]);
}
}
}