精华内容
下载资源
问答
  • 查找数组是指从数组中查询指定位置的元素,或者查询某元素指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索...

    查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组的查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索元素的索引值。

    binarySearch() 方法有多种重载形式来满足不同类型数组的查找需要,常用的重载形式有两种。

    (1) 第一种形式如下:

    binarySearch(Object[] a,Object key);


    其中,a 表示要搜索的数组,key 表示要搜索的值。如果 key 包含在数组中,则返回搜索值的索引;否则返回 -1 或“-插入点”。插入点指搜索键将要插入数组的位置,即第一个大于此键的元素索引。

    在进行数组查询之前,必须对数组进行排序(可以使用 sort() 方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法确认找到的是哪一个。

    例 1

    声明 double 类型的 score 数组,接着调用 Arrays 类的 sort() 方法对 score 数组排序,排序后分别查找数组中值为 100 和 60 的元素,分别将结果保存到 index1 和 index2 变量中,最后输出变量的值。代码如下:

     
    1. public static void main(String[] args)
    2. {
    3. double[] score={99.5,100,98,97.5,100,95,85.5,100};
    4. Arrays.sort(score);
    5. int index1=Arrays.binarySearch(score,100);
    6. int index2=Arrays.binarySearch(score,60);
    7. System.out.println("查找到 100 的位置是:"+index1);
    8. System.out.println("查找到 60 的位置是:"+index2);
    9. }


    执行上述代码,输出结果如下:

    查找到 100 的位置是:5
    查找到 60 的位置是:-1


    (2) 除了上述形式外,binarySearch() 还有另一种常用的形式,这种形式用于在指定的范围内查找某一元素。语法如下:

    binarySearch(Object[] a,int fromIndex,int toIndex,Object key);


    其中,a 表示要进行查找的数组,fromIndex 指定范围的开始处索引(包含开始处),toIndex 指定范围的结束处索引(不包含结束处),key 表示要搜索的元素。

    在使用 binarySearch() 方法的上述重载形式时,也需要对数组进行排序,以便获取准确的索引值。如果要查找的元素 key 在指定的范围内,则返回搜索键的索引;否则返回 -1 或 “-插入点”。插入点指要将键插入数组的位置,即范围内第一个大于此键的元素索引。

    例 2

    对例 1 中创建的 score 数组进行查找元素,指定开始位置为 2,结束位置为 6。代码如下:

     
    1. public static void main(String[] args)
    2. {
    3. double[] score={99.5,100,98,97.5,100,95,85.5,100};
    4. Arrays.sort(score);
    5. int index1=Arrays.binarySearch(score,2,6,100);
    6. int index2=Arrays.binarySearch(score,2,6,60);
    7. System.out.println("查找到 100 的位置是:"+index1);
    8. System.out.println("查找到 60 的位置是:"+ index2);
    9. }


    执行上述代码,输出结果如下:

    查找到 100 的位置是:5
    查找到 60 的位置是:-3


    注意:实现对数组进行查找的方法很多,但是使用 Arrays 对象的 binarySearch() 方法是最简单、最方便的一种,因此该方法经常被应用。关于其他的查找方法这里不再演示,感兴趣的读者可以动手试一试。

    展开全文
  • 在js数组查找特定的元素相信对大家来说再熟悉不过了,但越简单的东西越可能出错,小编最近就犯了这样的错误,所以想着干脆将实现的代码整理下来,方便自己以后需要的时候,或者有需要的朋友们参考学习,下面来一起...
  • Java 实例 - 在数组查找指定元素

    千次阅读 2020-12-28 13:59:30
    以下实例演示了如何使用 contains () 方法来查找数组中的指定元素: Main.java 文件 import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList objArray = new ...

    以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:

    Main.java 文件
    import java.util.ArrayList;

    public class Main {
    public static void main(String[] args) {
    ArrayList objArray = new ArrayList();
    ArrayList objArray2 = new ArrayList();
    objArray2.add(0,“common1”);
    objArray2.add(1,“common2”);
    objArray2.add(2,“notcommon”);
    objArray2.add(3,“notcommon1”);
    objArray.add(0,“common1”);
    objArray.add(1,“common2”);
    System.out.println(“objArray 的数组元素:”+objArray);
    System.out.println(“objArray2 的数组元素:”+objArray2);
    System.out.println("objArray 是否包含字符串common2? : "
    +objArray.contains(“common2”));
    System.out.println(“objArray2 是否包含数组 objArray? :”
    +objArray2.contains(objArray) );
    }
    }
    以上代码运行输出结果为:

    objArray 的数组元素:[common1, common2]
    objArray2 的数组元素:[common1, common2, notcommon, notcommon1]
    objArray 是否包含字符串common2? : true
    objArray2 是否包含数组 objArray? :false

    展开全文
  • Java数组查找元素的方法

    千次阅读 2020-08-15 20:43:51
    Arrays类的binarySearch()方法,可以使用二分搜索法来搜索指定数组。该方法返回要搜索元素的索引值。binarySearch()方法提供多种重载形式,用于满足各种类型数组查找需要。 1 binarySearch(Object[], Object key...

    Arrays类binarySearch()方法,可以使用二分搜索法来搜索指定的数组。该方法返回要搜索元素的索引值。binarySearch()方法提供多种重载形式,用于满足各种类型数组的查找需要。

    在使用这个方法前,必须要对数组进行排序操作

    1 binarySearch(Object[], Object key)

    第一个参数: 要搜索的数组
    第二个参数:要搜索的值

    示例代码

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class test {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		while (sc.hasNext()) {
    			// 数组a的大小
    			int n = sc.nextInt();
    			int a[] = new int[n];
    			for (int i = 0; i < n; i++) {
    				a[i] = sc.nextInt();
    			}
    			// 要查找的值
    			int x = sc.nextInt();
    			int index = Arrays.binarySearch(a, x);
    			System.out.println(index);
    		}
    	}
    }
    

    在这里插入图片描述

    结论

    [1] 搜索值是数组元素,从0开始计数,得搜索值的索引值;
    
    [2] 搜索值不是数组元素,且在数组范围内,从1开始计数,得“ - 插入点索引值”;
    
    [3] 搜索值不是数组元素,且大于数组内元素,索引值为 – (length + 1);
    
    [4] 搜索值不是数组元素,且小于数组内元素,索引值为 – 1。
    

    2 binarySearch(Object[], int fromIndex, int toIndex, Object key)

    这个重载的方法与上述方法相似,直接上结论

    [1] 该搜索键在范围内,且是数组元素,由0开始计数,得搜索值的索引值;
    
    [2] 该搜索键在范围内,但不是数组元素,由1开始计数,得“ - 插入点索引值”;
    
    [3] 该搜索键不在范围内,且小于范围(数组)内元素,返回–(fromIndex + 1);
    
    [4] 该搜索键不在范围内,且大于范围(数组)内元素,返回 –(toIndex + 1)。
    
    展开全文
  • Java中在数组查找指定元素

    千次阅读 2019-05-09 18:34:06
    Java中在数组查找指定元素 方法: 使用 contains () 方法来查找数组中的指定元素 代码: import java.util.ArrayList; public class ArrayContains { public static void main(String[] args) { ArrayList ...

    Java中在数组中查找指定元素
    方法:
    使用 contains () 方法来查找数组中的指定元素
    代码:

    import java.util.ArrayList;
    
    public class ArrayContains {
    
    	   public static void main(String[] args)  {
    	      ArrayList objArray = new ArrayList();
    	      ArrayList objArray2 = new ArrayList();
    	      objArray2.add(0,"common1");
    	      objArray2.add(1,"common2");
    	      objArray2.add(2,"notcommon");
    	      objArray2.add(3,"notcommon1");
    	      objArray.add(0,"common1");
    	      objArray.add(1,"common2");
    	      System.out.println("objArray 的数组元素:"+objArray);
    	      System.out.println("objArray2 的数组元素:"+objArray2);
    	      System.out.println("objArray 是否包含字符串common2? : "
    	      +objArray.contains("common1"));
    	      System.out.println("objArray2 是否包含数组 objArray? :"
    	      +objArray2.contains(objArray) );
    	   }
    
    }
    

    结果:
    Java!

    展开全文
  • 相信大家在操作Java的时候,经常会要检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。本文将分析几种常见用法...
  • 查找数组指定元素

    2019-09-25 19:55:48
    import java.util.Scanner; public class Test { public static void main(String[] args){ int[] arr = {1,2,3,4,5,6,7}; Scanner in = new Scanner(System.in); System.out.println("...
  • 顺序查找数组中的指定元素 给定一个数组,在给定一个元素,找出该元素在数组中的位置(输出的是该元素在数组中的下标) public static void main(String[] args) { int[] array = {12, 14, 16, 18, 20, 28}; ...
  • String[] arr = new String[]{"a","b","c","d","e","eeee","f","g","a","h"}; Integer[] arr1 = new Integer[]{22,33,44,55,6,7,22,88,999}; searchOne(arr, "a"); searchOne(arr1, 33);...33在被查询数组的下标为:1
  • 数组常用方法之一:二分查找法的使用
  • 查找数组中的指定元素的两种方式 一,顺序查找法 所谓顺序查找法即遍历数组查找,效率较低,但是顺序查找适用于任意数组。 代码实现 public class OrderSearch{ public static void main(String[] args){ int[] ...
  • 以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList&lt;String&gt; objArray = ...
  • java数组中根据元素查找位置 索引

    千次阅读 2019-04-20 15:07:43
    java数组中根据元素查找位置 索引
  • 数组中每个元素和要查找的内容比较,一旦找到,将flag改为true(找到了),不再继续比较,break退出循环 根据flag的boolean值,判断查找的结果 package com.array.test; import java.util.Scanner; //在数组中...
  • 数组查找元素

    千次阅读 2021-01-02 21:28:43
    数组中查找元素1. 查找元素的索引 数组操作基本上都是由Array类来负责,因而该类也提供了一系列方法来用于在数组中进行查找。...IndexOf() —— 查找指定元素的索引,只要遇到符合条件的元素就停止查找。如
  • import java.util.Scanner;... //数组元素查找(查找指定元素第一次在数组中出现的下标 //(1)给定数组int[] arr = {5,7,3,2,5}; //(2)要查询的元素通过键盘录入的方式确定 int[] arr = {5, 7, 3, 2, .
  • java函数学习之查找函数使用,是在学习java过程中的一个小例子
  • ...import java.util.ArrayList; public class Main9 { public static void main(String[] args) { ArrayList<String> objArray = new ArrayList<String>(); ArrayList<...
  • Java 实现二维数组查找指定元素

    千次阅读 2019-03-25 16:02:19
    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右...经过思考我觉得可以考虑在数组中随机指定一个数字(i为该数字行下标,j为列下标)然后将该数字与目标进行比对,如果大于目标数字...
  • 以下实例演示了如何在 java 中找到重复的元素: Main.java 文件: public class MainClass { public static void main(String[] args) { int[] my_array = {1, 2, 5, 5, 6, 6, 7, 2, 9, 2}; ...
  • java 实现二分查找 查找有序数组中的某一元素 话不多说,直接上代码 /** * @param arr 传递数组 * @param key 查找的值 * @return 返回值的索引 */ public static int test(int [] arr,int key){ int low = 0;...
  • java如何获得数组指定元素的位置

    万次阅读 2018-01-20 18:06:16
    int e=0; int f=0; String names[]={"美元","港币","欧元"}; for(int i=0;i if(names[i].equals("港币")){ e=i; } } System.out.println(e);//结果为1
  • java查询数组元素的索引 /** * java查询数组元素的索引 */ public class Test03 { public static void main(String[] args) { int[] arr = {5,7,4,9,5,7,2,8,1,5,0}; //查询元素 2 的索引 int value = 2...
  • a:要被查找元素数组 b:数组元素搜索的起始位置(包含) c:数组元素搜索的结束位置(不包含) d:要搜索的元素(字符串、数字等) index(索引) binary(二进制) search(搜索) 相关说明 要用到import java...
  • java中删除 数组中的指定元素方法

    万次阅读 2017-11-14 20:35:39
    java的api中,并没有提供删除数组元素的方法。虽然数组是一个对象,不过并没有提供add()、remove()或查找元素的方法。这就是为什么类似ArrayList和HashSet受欢迎的原因。 不过,我们要感谢Apache Commons Utils...
  • 使用二分法查找数组中某一项值所在索引位置。 Arrays.binarySearch(Object[] a,Object key); Arrays.binarySearch(Object[] a, fromIndex, toIndex,Object key); 1、从整个数组中查询指定值的索引:Arrays.binary...
  • java数组中根据元素查找位置

    万次阅读 2014-03-31 16:55:09
    今天遇到一个问题,是根据数组中的某一个元素查找其在数组中的位置。我们知道,二分法或快速查找法肯定能解决问题,但是我又不想多写几行代码(好懒),所以就想知道有没有封装好的方法能解决这个问题。 通过查找...
  • 以下实例演示了如何使用 contains () 方法来查找数组中的指定元素: import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> objArray = new ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,803
精华内容 48,721
关键字:

java数组查找指定元素

java 订阅