Skip to content

Instantly share code, notes, and snippets.

@lfborjas
Created October 14, 2010 03:23
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lfborjas/625496 to your computer and use it in GitHub Desktop.
Save lfborjas/625496 to your computer and use it in GitHub Desktop.
package ejercicios;
import java.util.ArrayList;
import java.util.Random;
import java.util.Arrays;
public class Conjuntos{
private static ArrayList<String> union(ArrayList<String> primero, ArrayList<String> segundo){
ArrayList<String> retVal = new ArrayList<String>(primero);
for(String worte: segundo){
if(!primero.contains(worte))
retVal.add(worte);
}
return retVal;
}
private static ArrayList<String> interseccion(ArrayList<String> a, ArrayList<String> b){
ArrayList<String> c = new ArrayList<String>();
ArrayList<String> iter = a.size() > b.size() ? a : b;
for(String elem: iter){
if(a.contains(elem) && b.contains(elem)){
c.add(elem);
}
}
return c;
}
private static ArrayList<String> diferencia(ArrayList<String> a, ArrayList<String> b){
ArrayList<String> c = new ArrayList<String>();
for(String elem: a)
if(!b.contains(elem)){c.add(elem);}
return c;
}
public static void main(String[] args){
ArrayList<String> primero = new ArrayList(Arrays.asList(args[0].split(",")));
ArrayList<String> segundo = new ArrayList(Arrays.asList(args[1].split(",")));
System.out.printf("Unión: \n El primero: %s\n El segundo: %s\n La unión: %s\n", primero, segundo, union(primero, segundo));
System.out.printf("Intersección\n El primero: %s\n El segundo: %s\n La interseccion: %s\n", primero, segundo, interseccion(primero, segundo));
System.out.printf("Diferencia\n El primero: %s\n El segundo: %s\n La diferencia: %s\n", primero, segundo, diferencia(primero, segundo));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment