精华内容
下载资源
问答
  • java数组中根据元素查找位置 索引

    千次阅读 2019-04-20 15:07:43
    java数组中根据元素查找位置 索引
                   

    Arrays提供了一个方便查询的方法 :Arrays.binarySearch();

        public static void main(String[] args) {        // TODO Auto-generated method stub        String[] arrays = new String[]{"a","b","c","d","e","fff","g","h","i","j",};        int positon = Arrays.binarySearch(arrays, "fff");           System.out.println("position is:"+positon);    }

    测试结果:

        position is:5  

    这个方法也是用的二分法实现的:

        public static int binarySearch(char[] array, int startIndex, int endIndex, char value) {              checkBinarySearchBounds(startIndex, endIndex, array.length);                  int lo = startIndex;              int hi = endIndex - 1;                    while (lo <= hi) {                  int mid = (lo + hi) >>> 1;//无符号右移                  char midVal = array[mid];                        if (midVal < value) {                      lo = mid + 1;                  } else if (midVal > value) {                      hi = mid - 1;                  } else {                      return mid;  // value found                  }              }              return ~lo;  // value not present          }

    转载:http://blog.csdn.net/mattdong0106/article/details/22676807

               
    展开全文
  • java数组中根据元素查找位置

    万次阅读 2014-03-31 16:55:09
    今天遇到一个问题,是根据数组中的某一个元素查找其在数组中的位置。我们知道,二分法或快速查找法肯定能解决问题,但是我又不想多写几行代码(好懒),所以就想知道有没有封装好的方法能解决这个问题。 通过查找...

    今天遇到一个问题,是根据数组中的某一个元素查找其在数组中的位置。我们知道,二分法或快速查找法肯定能解决问题,但是我又不想多写几行代码(好懒敲打),所以就想知道有没有封装好的方法能解决这个问题。

    通过查找资料了解到,Arrays提供了一个方便查询的方法 :Arrays.binarySearch();

    1.  String[] arrays = new String[]{"a","b","c","d","e","f","g","h","i","j",};
    2.   
    3.         int positon = Arrays.binarySearch(arrays, "f");  

    4.         System.out.println("position is:"+positon); 

    测试结果:

    [java] view plaincopy
    1. position is:5  

    其实这个方法也是用的二分法实现的:

    [java] view plaincopy
    1. public static int binarySearch(char[] array, int startIndex, int endIndex, char value) {  
    2.         checkBinarySearchBounds(startIndex, endIndex, array.length);
    3.   
    4.         int lo = startIndex;  
    5.         int hi = endIndex - 1;  
    6.   
    7.         while (lo <= hi) {  
    8.             int mid = (lo + hi) >>> 1;//无符号右移  
    9.             char midVal = array[mid];  
    10.   
    11.             if (midVal < value) {  
    12.                 lo = mid + 1;  
    13.             } else if (midVal > value) {  
    14.                 hi = mid - 1;  
    15.             } else {  
    16.                 return mid;  // value found  
    17.             }  
    18.         }  
    19.         return ~lo;  // value not present  
    20.     }

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

    千次阅读 2020-08-15 20:43:51
    binarySearch()方法提供多种重载形式,用于满足各种类型数组查找需要。 1 binarySearch(Object[], Object key) 第一个参数: 要搜索的数组 第二个参数:要搜索的值 示例代码 import java.util.Arrays; import java....

    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)。
    
    展开全文
  • 我们使用sort()方法对Java数组进行排序,使用binarySearch()方法来查找数组的任意一个元素,定义一个printArray()方法来打印数组。 完整代码 import java.util.Arrays; public class MainClass { public static...

    对Java数组进行排序输出并查找任意元素所在位置下表索引值。

    我们使用sort()方法对Java数组进行排序,使用binarySearch()方法来查找数组中的任意一个元素,定义一个printArray()方法来打印数组。

    完整代码

    import java.util.Arrays;
     
    public class MainClass {
        public static void main(String args[]) throws Exception {
            int array[] = { 2, 5, -2, 10, -3, 8, 0, -7, 9, 4 };
            Arrays.sort(array);
            printArray("数组排序结果为", array);
            int index = Arrays.binarySearch(array, 2);
            System.out.println("元素 2  在第 " + index + " 个位置");
        }
        private static void printArray(String message, int array[]) {
            System.out.println(message
            + ": [length: " + array.length + "]");
            for (int i = 0; i < array.length; i++) {
                if(i != 0){
                    System.out.print(", ");
                }
                System.out.print(array[i]);
            }
            System.out.println();
        }
    }
    

    结果输出

    数组排序结果为: [length: 10]  -7, -3, -2, 0, 2, 4, 5, 8, 9, 10
    元素 0 在第 3 个位置
    

    在这里插入图片描述

    展开全文
  • Java 数组元素的顺序查找顺序查找二分查找 顺序查找 顺序查找:也就是按顺序一位一位的查找,找到要查找数的索引(下标)。 示例: /** * 顺序查找 * * @param arr 查找的数组 * @param num 待查找的数 *...
  • JAVA数组二分查找

    2019-02-27 22:16:01
    JAVA数组二分查找前言查找原理代码实现 前言 二分查找是一种比较高效的查找方式,使用此查找方式需要先将数组进行排序,如果数组未经排序效率就会很低,所以数组是必须要经过排序的。 查找原理 Created with Raphaë...
  • Java数组排序及元素查找 方法: 使用sort()方法对Java数组中的元素进行排序,使用binarySearch()方法来查找数组的元素,我们通过定义printArray()方法来打印数组。 public class ArrayClass { public static ...
  • 查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索...
  • java数组查找元素索引,无需排序

    千次阅读 2019-05-14 18:00:26
    String[] windowArray = getView().getResources().getStringArray(R.array .entries); ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(windowArray)...
  • 数组的查询关键词相关说明...b:数组元素搜索的起始位置(包含) c:数组元素搜索的结束位置(不包含) d:要搜索的元素(字符串、数字等) index(索引) binary(二进制) search(搜索) 相关说明 要用到import java...
  • java数组元素查找: 通过p的值来判断是否找到:for循环判断用户输入的值是否和其中元素相等, 只要有相等的值,p就会被下标赋值,而下标i>=0,所以p>=0.只要是P被赋值了,说明其中肯定有相同的元素;p没有被...
  • Java中数组中查找指定元素

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

    2018-02-02 20:15:42
    语言:java  前提条件:数组必须有序 //二分查找法 / 折半查找法 class BinarySeacheDemo { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int index = ...
  • import java.util.Scanner; //****************************************************************************// //作者认为该程序最主要的功能是可以实现&lt;&lt;接收并打印一个未知长度的数组&gt;&...
  • java编程某一程序,要求:对于一个长度为20的一维整形数组,编程实现查找值为60的元素数组中的位置,若不存在,则提示“未找到60”。
  • java中数组元素查找

    千次阅读 2018-04-27 20:37:10
    数组元素查找有很多方法,我们先来看最简单的一种public class Ac{ public static void main(String [] args){ int [] numbers={1,2,3,4,5,6,7,8,9,10}; int data=8; for(int number : numbers){ System...
  • 数组中每个元素和要查找的内容比较,一旦找到,将flag改为true(找到了),不再继续比较,break退出循环 根据flag的boolean值,判断查找的结果 package com.array.test; import java.util.Scanner; //在数组中...
  • 数组中元素查找

    2018-12-06 19:54:28
    数组中会经常遇到查找某个元素是否在数组中的场景,我们最经常使用的是二分法数组查找BinarySearch package Query; import java.util.Arrays; public class BinarySearch { public static void main...
  • java查找数组中重复元素和重复元素的个数 本人前几天面试,被问到一个简单的问题:查找数组中重复元素和重复元素的个数 当时回答的很不完美,面试官说可以用map一层循环就可以解决 ,当时没有想明白,事后想了一下,...
  • Java 数组 之 一维数组 追加 元素

    万次阅读 2018-05-29 09:22:34
    1.2 对一维数组的操作, 遍历,添加,插入,修改,删除,排序,查找 2. 二维数组 2.1 二维数组的定义和初始化 2.2 二维数组的遍历 3. 多维数组 4. 增强for循环 */ public class ArrayAppend { ...
  • java数组查找

    千次阅读 2015-07-16 18:38:44
    数组元素查找: 1、普通数组元素查找 2、二分查找 3、面试题:二分查找法运用 4、用java内部函数Arrays.binarySearch数组二分查找,导入模块 import java.util.*; */ class Arrayelementfind_1  { public static ...
  • python数组查找元素Given an integer array and we have to find the sum of all elements in Python. ... 查找数组元素的总和 (Finding the sum of array elements) There are two ways to find th...
  • Java查找数组元素

    千次阅读 2018-06-01 18:17:21
    package chen; import java.util.*; public class xn { public static void main(String[] args) { int[] array={31,21,79,3,39,};...数组中元素:"); for(int i: array) { System.out.print(i+"...
  • java数组中根据数据查找下标

    千次阅读 2020-07-28 16:18:52
    public class javaDemo2 { public static void main(String[] args) { int num[] = {2,6,9,4,7,6,3,1,5}; System.out.println("请输入你的数据:"); int number = 6; for(int i = 0 ; i < num.length ; i ++)...
  • 功能需求:遍历数组,并求出数组中元素的最大元素,最小元素,及其相应的索引等问题,要求用方法完成. 思路:分别创建不同的方法,然后再调用方法. 代码展示: public class Array{ public static void main(String[] ...
  • Java中如何高效的判断数组中是否包含某个元素 Arrays.asList Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分。 List<String> ebsCodes = ...
  • Java 二分法查找数组元素

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 186,817
精华内容 74,726
关键字:

java数组中元素的查找

java 订阅