`
zhanghong2q
  • 浏览: 3610 次
社区版块
存档分类
最新评论

list和数组之间值的判断

阅读更多

一个数组,一个list 之间判断 两者之间是否有相等的值或者不相等的值,做法不同。

判断值是否相等:

伪代码如下:

String[] str1 = {"11","22",.."88"};//较长数组
String[] str2 = {"11","22"};

第一种
for(int i=0;i<str2.length;i++)//要将数组短的放在外面,这样能减少循环次数
{
  String str3 = str2[i];
  for(int j=0;j<str1.length;j++)
  {
    String str4 = str1[j];
    if(str4.equals(str3))
       return;
  }
}

第二种
String flag = "@";
StringBuffer str = new StringBuffer("");
StringBuffer str3;
for(int i=0;i<str1.length;i++)
{
   str.append(flag);
   str.append(str1[i]);
   str.append(flag);
}

for(int i=0;i<str2.length;i++)
{
   str3 = new StringBuffer("");
   str3.append(flag);
   str3.append(str2[i]);
   str3.append(flag);
   if(str.toString().contans(str3.toString()))
   {
      return;
   }
}

第二种比第一种效率要高点!

判断两者之间不相等: 

              int[] a={1,3,6,7,10} 
              int[] b = { 1, 4, 5, 7, 8, 9 };
            string s_a = "";
            string s_b = "";
            for(int i=0;i=a.length;i++) 
            {
                s_a += i.ToString() + ',';
            } 
            for(int i=0;i<b.length;i++)
            {
                s_b += i.ToString() + ',';
            }

            string value = "不相同的元素:";
            for(int i=0;i<a.length;i++)
            {
                if (!s_b.Contains(i.ToString()))
                    value += i.ToString() + ",";
            }
            for(int i=0;i<b.length;i++)
            {
                if (!s_a.Contains(i.ToString()))
                    value += i.ToString() + ",";
            } 

            System.out.println(value);

 

分享到:
评论
1 楼 q601180252 2012-07-31  
不错不错

相关推荐

    Java集合容器面试题

    集合和数组的区别是:集合可以存储多个元素,可以重复元素,可以插入、删除、遍历等操作,而数组固定长度,不能插入、删除元素。 使用集合框架的好处 使用集合框架的好处是:可以存储多个元素,可以重复元素,可以...

    Spring开发手册_表达式语言_API中文版

    SpEL 提供了丰富的集合和数组操作,如 `size`, `empty`, `contains`, `indexof`, `removeAll`, `add` 等。 **6. 注解支持** SpEL 可以在注解中使用,例如在 @Value 注解中使用 SpEL 表达式来注入动态值。 **7. ...

    妙趣横生的算法(C语言实现)勘误表

    在解决这类问题时,条件判断和数组索引的使用尤为重要。第一项勘误中,条件`w[i]应改为`w[i]&gt;c`,以确保正确终止循环。第二项勘误中,注释中关于数组`t`的使用也进行了修正,以保证数组索引的正确性。 #### 五、...

    java基础边学边做

    - **堆内存**:用于存储由`new`关键字创建的对象和数组。堆内存的管理相对复杂,主要由JVM的垃圾回收机制负责。一旦一个对象不再有任何引用指向它,该对象就会成为垃圾回收的目标。 #### Character类的常用方法 `...

    2021-2022计算机二级等级考试试题及答案No.11737.docx

    19. **数据结构与存储**:非完全二叉树不能采用顺序存储结构,因为顺序存储结构适用于线性结构,如栈、队列和数组。 20. **文件夹操作**:在 Windows 98 中,文件夹的复制、移动、重命名和删除操作与文件的操作方法...

    江苏省计算机等级考试上机试卷二.pdf

    2. 数组操作:文件中展示了数组的声明与使用,例如 `Dim A(9) As Integer` 和 `A(10) As Integer`,表明了数组的初始化和数组元素的访问方法。 3. 循环结构:代码段使用了`For`循环结构,如 `For I=1 To P` 和 `For...

    vb基础题练习

    VB基础题练习主要涵盖Visual Basic (VB)编程的基础知识,包括事件处理、变量与数据类型、运算符...以上知识点覆盖了VB编程的基础,包括语法、变量管理、逻辑运算、控制流和数组操作等方面,是学习VB时常见的考点。

    浙江省慈溪市 高二信息技术上学期期中联考试题(无答案) 试题.doc

    3. **变量与运算**:在算法和编程中,变量用于存储数据,例如第4题中的`s`和`i`,以及第9题中定义的变量`ans`和数组`a`。运算符如`^`表示乘方,`Mod`用于求余数,`If...Then`是条件判断结构。 4. **VB基础知识**: ...

    《C#与.NET程序员面试宝典》.docx

    21. 预定义的引用类型主要包括对象(object)、字符串(String)和数组列表(ArrayList)等。 22. 解决装箱和拆箱引起的性能问题,可以通过使用值类型(如结构体)和泛型(如List)避免不必要的装箱操作。 23. 值...

    Java期末考试题型.pdf

    - `StringBuffer`的`append()`方法可以连接字符串和数组元素。 4. **简答题**: - `Collection`是集合框架的顶层接口,表示一组不特定类型的对象集合;`Collections`是工具类,提供了一系列静态方法来操作集合。 ...

    Scala Cookbook

    - **数据类型**:包括基本类型(如Int、Double、Boolean)和引用类型(如类、对象和数组)。 - **表达式和语句**:Scala中一切都是表达式,每个表达式都有一个值。 ### 3. 类与对象 - **类**:Scala的类使用`class...

    Python语言中模运算的特点与应用.zip

    在循环和数组索引中,模运算也有着广泛应用。比如,你有一个长度为10的列表,要循环遍历而不越界,可以使用 `index = i % len(list)`。这样,`index` 总是在0到9之间循环,避免了数组越界的问题。 此外,模运算在...

    c#考试卷子

    引用类型包括**类(Class)**、**接口(Interface)**、**委托(Delegate)**和数组。 5. 方法由返回类型、**方法名(Method Name)**、**参数列表(Parameter List)**和执行体组成。 6. **构造函数(Constructor...

    tcl中文教程---最好的Tcl脚本语言的中文教程,值得下载

    TCL支持简单变量和数组变量。 ##### 3.1 简单变量 使用`set`命令来创建和修改简单变量。 例如: ```tcl set a 10 puts $a ``` ##### 3.2 数组 TCL支持一维和多维数组。 例如: ```tcl set arr(a) 10 set arr(b) ...

    java核心基础汇总.docx

    基本数据类型是直接存储值的类型,而引用数据类型则指向内存中的对象,包括类、接口和数组。数组是Java中的一种特殊数据结构,用于存储同类型的数据集合。 运算符是编程语言中不可或缺的一部分,Java提供了算术...

    BTA 常问的 Java基础39道常见面试题及详细答案.docx

    引用数据类型包括类、接口和数组,它们用于存储对象的引用,而不是实际的对象值。默认值为null。 3. **Switch语句与String参数**: 在JDK 7之前,switch仅支持byte、short、char、int以及它们的封装类。在JDK 7...

    算法学习笔记.pdf

    归并排序同样是一种有效的排序算法,它采用分而治之的策略,平均时间复杂度为O(nlogn),适用于链表和数组等多种数据结构。归并排序的基本步骤是: 1. 将序列分割成长度大致相等的两半。 2. 递归地将两个子序列分别...

    R语言简介-R Development Core Team

    ##### 5.2 数组的索引和数组的子块 可以使用索引来访问数组中的特定元素或子集。此外,还可以使用子集操作符`[ ]`来提取数组的子块。 ##### 5.3 索引数组 索引数组指的是通过索引来访问数组中的元素。R支持多种索引...

    《你必须知道的495个C语言问题》

    1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?const int n=5; int a[n]; 10 1.20 const char *p、char const *p和char *const p有什么区别? 10 复杂的声明 11 1.21 怎样建立和理解非常复杂...

Global site tag (gtag.js) - Google Analytics