`
deepfuture
  • 浏览: 4393479 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79996
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:69873
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103187
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285229
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14989
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67432
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32019
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45922
社区版块
存档分类
最新评论

java-找到集合之间的元素之异同算法

阅读更多

package test;

public class test {
    private char[]sa,sb;
    private byte[] biaozhi;   
 /**
  * @param args
  */
    public test(char[] x,char[] y){
     sa=x;
     sb=y;
    }
    public void cao(){
     //0-表示2个集合都没有涉及到的元素,1-表示2个集合的交集,2-表示只属于集合x或集合y
     //假设元素均为小写,设全集是a-z的小写字母
     String[] result=null;
     biaozhi=new byte[26];
     for (int i=0;i<biaozhi.length;i++ ){
      biaozhi[i]=0;
     }
     for (int i=0;i<sa.length;i++ ){
      biaozhi[(int)sa[i]-97]++;
     }
     for (int i=0;i<sb.length;i++ ){
      biaozhi[(int)sb[i]-97]++;
     }
     for (int i=0;i<biaozhi.length;i++ ){
      if (biaozhi[i]==0){
          System.out.println("2个集合都没有的元素");
       System.out.println((char)(i+97));
      }
      else if(biaozhi[i]==1){
          System.out.println("只存在其中1个集合的元素");
       System.out.println((char)(i+97));
      }
      else{
          System.out.println("2个集合都有的元素");
       System.out.println((char)(i+97));
      }      
     }
    }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
            test mytest=new test(new char[]{'a','b','e','w','f'},new char[]{'i','o','b','e','c','z','x'});
            mytest.cao();
 }

}
效果如下:

只存在其中1个集合的元素
a
2个集合都有的元素
b
只存在其中1个集合的元素
c
2个集合都没有的元素
d
2个集合都有的元素
e
只存在其中1个集合的元素
f
2个集合都没有的元素
g
2个集合都没有的元素
h
只存在其中1个集合的元素
i
2个集合都没有的元素
j
2个集合都没有的元素
k
2个集合都没有的元素
l
2个集合都没有的元素
m
2个集合都没有的元素
n
只存在其中1个集合的元素
o
2个集合都没有的元素
p
2个集合都没有的元素
q
2个集合都没有的元素
r
2个集合都没有的元素
s
2个集合都没有的元素
t
2个集合都没有的元素
u
2个集合都没有的元素
v
只存在其中1个集合的元素
w
只存在其中1个集合的元素
x
2个集合都没有的元素
y
只存在其中1个集合的元素
z

 

分享到:
评论

相关推荐

    C/Java常见算法大全

    "C/Java常见算法大全"是一个集合了多种算法实践的资源库,旨在帮助开发者提升编程思维和逻辑能力。下面将详细探讨这个资源包中可能包含的算法类型以及C和Java在实现这些算法时的异同。 1. **排序算法**:如冒泡排序...

    java-IT专业面试题集

    【Java基础方面】 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高可用性、安全性、跨平台兼容性和可移植性。在Java基础方面,面试官可能会考察以下几个核心概念: 1. **类与对象**:理解面向对象...

    java私塾面试题----JAVA基础3

    Java集合类 - **List**:有序集合,如`ArrayList`和`Vector`,适合按数值索引访问元素。 - **Map**:存储键值对,如`HashMap`和`TreeMap`,键必须唯一,便于查找和管理数据。 #### 6. JVM加载Class文件机制 JVM...

    Java和C语言_实现经典算法

    4. 并发支持:Java提供了强大的并发编程工具,如线程池、并发集合等,便于在多核环境下实现并行算法。C语言的并发编程通常需要依赖操作系统提供的API,如POSIX线程库,相对复杂且容易出错。 5. 类库支持:Java有...

    java面试题集合与总结

    ### Java面试题集合与总结 #### 一、面向对象四大特性 **1. 抽象** - **定义**: 抽象是指在编程中提取事物的关键属性和行为,忽略不相关细节的过程。它允许开发者专注于核心功能,从而简化复杂度。 - **作用**: ...

    java笔试题大集合及答案

    Java笔试题大集合及答案,这是一个涵盖了广泛Java编程知识的主题,旨在帮助准备Java技术面试或者进行自我提升的开发者。在Java的学习和实践中,掌握扎实的基础和深入理解是至关重要的。以下是一些可能出现在这个题...

    《计算机算法-设计与分析导论》中文翻译版

    ### 《计算机算法-设计与分析导论》中文翻译版 #### 1. 算法基础 **1.1 引言** 本章节作为全书的开篇,旨在为读者介绍计算机算法的基础概念,包括算法的基本定义、设计原则以及评估方法等。通过这部分内容的学习...

    Java数据结构和算法(第二版)

    “Java数据结构的类库”章节将详细介绍Java集合框架,包括ArrayList、LinkedList、HashSet、HashMap等。这些类库为开发者提供了现成的数据结构实现,极大地简化了编程工作。理解它们的内部实现和性能特性,有助于在...

    2014年最新JAVA面试题汇总经典

    4. Java集合框架和数据结构: - 排序算法的种类及快速排序的实现。 - Collection框架中比较器的实现。 - 实现排序和序列化的方法。 5. Java I/O流和文件操作: - 字符串的截取,考虑汉字编码的特殊情况。 - 文件...

    java面试题大集合

    为了实现在集合框架中的元素比较,需要实现`Comparable`接口或者提供一个实现了`Comparator`接口的对象。 #### 十五、用插入法进行排序代码如下 插入排序是一种简单的排序算法,其实现代码如下: ```java public ...

    Java面经-百度准入职老哥整理(八股文)

    2. **Java集合框架**: - **ArrayList与LinkedList**:比较两者的实现方式和性能差异,理解它们在不同场景下的应用。 - **HashMap与HashTable**:分析两者的异同,了解线程安全和非线程安全的区别。 - **Set接口...

    最新Java面试题

    - **Java集合体系结构**: - `Collection`:根接口,`List`、`Set`的父接口。 - `List`:有序、可重复。 - `Set`:无序、不可重复。 - `Map`:键值对结构。 - **`Vector`和`ArrayList`的区别和联系**: - `...

    JAVA程序员面试题集合.pdf

    ### JAVA程序员面试题集合知识点详解 #### 一、面向对象的四大特征 1. **抽象** - **定义**:抽象是指在设计阶段只关注事物本质特征,忽略次要细节的过程。这一过程帮助开发者集中精力处理核心逻辑,避免不必要的...

    java面试题及技巧4

    │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科面试题.pdf │ 速算.txt │ 面试题URL.txt │ ├─Javascript │ ...

    Java后端技术面试汇总-2019

    - **看过那些Java集合类的源码**:例如ArrayList、HashMap等。 **1.3 进程和线程** - **线程和进程的概念、并行和并发的概念**: - **进程**:系统资源分配的基本单位。 - **线程**:进程中的执行单位。 - **...

    java-practice:练习编码问题

    这些问题可能涵盖Java的基础语法、面向对象编程、异常处理、多线程、集合框架、IO流、网络编程等多个方面,同时也可能涉及一些高级主题,如反射、注解和JVM优化。 【标签】:“JavaScript” 虽然标题主要提及Java...

    Java面试宝典-经典

    54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34 55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 36 56、子线程循环10次,接着主线程循环100,接着又回到...

    java面试题 IBM,交通银行等一些外包的面试题,(8K左右)

    以下是一些基于Java的常见面试知识点,涵盖了编程基础、数据结构、算法、多线程、集合框架、JVM、网络编程等多个方面。 1. **编程基础**: - Java的基础语法,如类、对象、继承、接口、抽象类。 - 构造器的作用,...

    leetcode java刷题课件.zip

    虽然课程主要使用Java,但考虑到C++也是常见的编程语言,课程也会简要介绍C++的相关知识,并与Java进行对比,帮助学员理解两种语言在算法实现上的异同,增强跨语言编程能力。 七、持续学习与自我提升 课程鼓励学员...

Global site tag (gtag.js) - Google Analytics