求两集合的交集与并集
来源:互联网 发布:小米路由器域名重定向 编辑:程序博客网 时间:2024/05/24 06:08
方法1:
import java.util.ArrayList;public class Demo1 {//求两个集合的交集和并集public static void main(String[] args) {String[] arr1 = new String[]{"abc", "df", "abc"};String[] arr2 = new String[]{"abc", "cc", "df", "d", "abc"};ArrayList<String> list = new ArrayList<String>();//求交集System.out.println("交集为:");for(int i=0;i<arr1.length;i++){for(int j=0;j<arr2.length;j++){if(arr1[i].equals(arr2[j])){list.add(arr1[i]);break;}}}//for//去掉重复字符串for(int i=0;i<list.size();i++){for(int j=i+1;j<list.size();j++){if(list.get(j).equals(list.get(i))){continue;}System.out.print(list.get(i)+" ");}}System.out.println();System.out.println("-----------");//求并集System.out.println("并集为:"); ArrayList<String> list1 = new ArrayList<String>(); //将arr1数组中元素 不重复的添加到list1中 for(int i=0;i<arr1.length;i++){ if(list1.size()==0){ list1.add(arr1[0]); } for(int j=0;j<list1.size();j++){ if(arr1[i].equals(list1.get(j))){ break; } if(j==list1.size()-1){ list1.add(arr1[i]); } } } //将arr2数组中元素 不重复的添加到list1中 for(int i=0;i<arr2.length;i++){ if(list1.size()==0){ list1.add(arr1[0]); } for(int j=0;j<list1.size();j++){ if(arr2[i].equals(list1.get(j))){ break; } if(j==list1.size()-1){ list1.add(arr2[i]); } } } //输出 for(int i=0;i<list1.size();i++){ System.out.print(list1.get(i)+" "); }}}
import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class Demo2 {//public static void main(String[] args) {String[] arr1 = new String[]{"abc", "df", "abc"};String[] arr2 = new String[]{"abc", "cc", "df", "d", "abc"};//求交集System.out.println("并集为:");Set set = new HashSet<String>();ArrayList<String> list = new ArrayList<String>();for(String str:arr1){//利用set的元素的唯一性set.add(str);}for(String str:arr2){set.add(str);}String[] result = {};String[] result_union = (String[]) set.toArray(result);for(String str:result_union){System.out.print(str+" ");}System.out.println();System.out.println("---------");//求交集System.out.println("交集为:");Map map = new HashMap<String, Boolean>();//将arr1所有的元素入mapfor(int i=0;i<arr1.length;i++){if(!map.containsKey(arr1[i])){map.put(arr1[i], Boolean.FALSE);}}//如果arr2存在于arr1相等的字符串,则将该字符串的value置为truefor(int i=0;i<arr2.length;i++){if(map.containsKey(arr2[i])){map.put(arr2[i], Boolean.TRUE);}}Iterator it1 = map.entrySet().iterator();while(it1.hasNext()){Entry<String, Boolean> entrys = (Entry<String, Boolean>) it1.next();Boolean value = entrys.getValue();if(value.equals(Boolean.TRUE)){list.add(entrys.getKey());}}//输出for(String str:list){System.out.print(str+" ");}}}
0 0
- 求两集合的交集与并集
- 【PAT1063】Set Similarity 求两集合的交集、并集
- 任意长度的两个整数集合求并集与交集
- 求List集合的并集、交集、差集
- 求两个集合的交集、差集和并集
- C,实现求集合的并集和交集
- java求两个集合的交集和并集
- java求两个集合的交集和并集
- matlab:求两个集合的 交集 和 并集
- C++ 求两个集合的交集和并集
- 求两个集合的交集和并集
- 字符串集合求并集和交集
- java求集合交集和并集
- python求补集合、交集、并集
- 求集合的交集
- java集合运算:求交集,并集,集合差
- java集合运算:求交集,并集,集合差
- C++优先队列的用法与求集合的交集并集差集
- JAXB转XML: 错误 class nor any of its super class is known to this 的处理
- CoreData For iOS
- CSS3 背景颜色渐变
- JBOSS7搭载EJB3之实体Bean
- java基础
- 求两集合的交集与并集
- 如何在Windows上配置EBS R12.1.3的OAF开发环境
- 解决div浮动过后 里面元素如何浮动
- MyEclipse插件手动安装--checkStyle
- postgresql 数据库备份
- 菜鸟学习Spring——60s利用JoinPoint获取参数的值和方法名称
- 每日工作计划与实效情况
- 自定义ViewGroup以及View的一些心得。
- BZOJ 1101: [POI2007]Zap