比较两个字符数组

转载 2015年07月09日 02:07:18

现在比较两个字符数组:String []a={"x","y","xy","yx"},String[]b={"xy","y","yx","a","b"} 最后需要记录反应三种信息: 1、b比a多哪些字符串? 2、b比a少哪些字符串? 3、b与a中顺序不同的字符串有哪些?

 

第三个问题:以a作为基准,b和a进行比较, 
(在数组a,数组b中所有相同元素进行比较顺序) 
取得b中数组元素与a中数组元素顺序不同的元素。 

比如:a={"x","y","xy","yx"},b={"xy","y","yx","a","b"} 
数组a,b相同的元素是:{"y","xy","yx"} 
那么比较它们在数组a,b中的顺序,以数组a作为基准,数组b和a进行比较 
最后得出顺序不同的数组元素:{"xy","yx"} 

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

/**
* Author: db2admin
* Date  : 2010-2-4
* Time  : 15:41:37
* Comment:
*/

public class test {

    
public static List toArrayList(String[] temp) {
        List templist
=new ArrayList();
        
for (int i = 0; i < temp.length; i++) {
            templist.add(temp[i]);
        }
        
return templist;
    }

    
public static List romove(List lista,List listb){
        lista.removeAll(listb);
        
return lista;
        
//System.out.println(lista);
    }

    
public static List compareArr(String[] a,String[] b){
        List commonlist
=new ArrayList();
        
if(a.length<b.length){
            
for(int i=0;i<a.length;i++){
                
if(a[i].equals(b[i]))
                    commonlist.add(a[i]);
            }
        }
        
return commonlist;
    }
    
public static void main(String[] args){
        String[] a 
= {"x""y""xy""yx"};
        String[] b 
= {"xy""y""yx""a""b"};
        
//  A-B
        System.out.println(test.romove(test.toArrayList(a),test.toArrayList(b)));
        
//  B-A
        System.out.println(test.romove(test.toArrayList(b),test.toArrayList(a)));
        
//  A-(A-B) 公共集
        System.out.println(
                test.romove(test.toArrayList(a),test.romove(test.toArrayList(a),test.toArrayList(b)))
        );
        
// 公共集-顺序值相同集
        System.out.println(
                test.romove(
                        test.romove(test.toArrayList(a),test.romove(test.toArrayList(a),test.toArrayList(b))),
                        test.compareArr(a,b))
        );
    }
}

char数组 、char指针与字符串常量的比较

数组不是基本类型,不能直接参与比较,数组与字符串及字符指针与字符串比较其实比较的是二者的地址。 例: int isequiv(char *t) { if (t == "char") return 1;...
  • zz460833359
  • zz460833359
  • 2015年09月30日 18:48
  • 2869

一个简单的字符数组比较

帖子:http://bbs.csdn.net/topics/390481269?page=1#post-394699362 网上的一道面试题: #include using namespac...
  • robertkun
  • robertkun
  • 2013年06月05日 15:25
  • 1031

字符数组与字符串的区别及联系

c字符数组以及字符串区别联系
  • u010731949
  • u010731949
  • 2015年05月02日 13:12
  • 3072

比较两个字符数组

现在比较两个字符数组:String []a={"x","y","xy","yx"},String[]b={"xy","y","yx","a","b"} 最后需要记录反应三种信息: 1、b比a多哪些字符...
  • longhu453226594
  • longhu453226594
  • 2010年02月08日 17:24
  • 5867

C语言 字符数组与字符指针比较

#include /*   字符数组会在定以后预先分配内存空间字符串是常量所以会直接把字符串拷贝到数组中,   因为数组地址不同,所以不相等·   字符指针不会预先分配内存空间,直接指向字符串...
  • pangqiandou
  • pangqiandou
  • 2016年10月09日 19:47
  • 1131

C++ string和c类型字符数组的比较

在c++中string是很方便操作的字符串,支持多种算数运算和比较运算,操作起来非常灵活。 string也具有一些容器的性质,可以通过迭代器对字符元素进行访问 c类型的字符数组有如下三种初始化方式...
  • qq_22642239
  • qq_22642239
  • 2016年08月29日 11:18
  • 988

Java中两个String数组进行比较

java中常用算法之string数组之间的比较
  • BeeManA
  • BeeManA
  • 2016年06月08日 08:39
  • 3608

字符串与字符数组的区别

用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题: 1.字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首...
  • chenjieying12321
  • chenjieying12321
  • 2016年10月27日 15:22
  • 8601

一个简单的字符数组中字符的比较

1.String字符串转化为字符数组:toCharArray 2.字符的比较:等于==  不等于!= 3.执行了if类型语句,flag就等于false,程序才会停止。 public class ...
  • rururu2211785113
  • rururu2211785113
  • 2017年02月28日 21:51
  • 173

c语言比较两个字符串是否相等strcmp

C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子: #include #include int main(void) { cha...
  • Ctrl_qun
  • Ctrl_qun
  • 2017年03月27日 13:38
  • 43619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:比较两个字符数组
举报原因:
原因补充:

(最多只允许输入30个字)