Java 获取元素在数组中的位置

Java 中如何获取元素在数组中的位置呢?

(1)

Java代码  

  1. /*** 
  2.      * Get location of element in a array 
  3.      * @param arr : a array 
  4.      * @param value2 : element of array 
  5.      * @return 
  6.      */  
  7.     public static int indexOfArr(String[] arr,String value2){  
  8.         if(ValueWidget.isNullOrEmpty(arr)){  
  9.             return SystemHWUtil.NEGATIVE_ONE;  
  10.         }  
  11.         for(int i=0;i<arr.length;i++){  
  12.             if(arr[i].equals(value2)){  
  13.                 return i;  
  14.             }else{//做了容错,不是完全匹配  
  15.                 if(value2.startsWith(arr[i])){  
  16.                     return i;  
  17.                 }  
  18.             }  
  19.         }  
  20.         return SystemHWUtil.NEGATIVE_ONE;  
  21.     }  

 

 测试:

Java代码  

  1. @Test  
  2.     public void test_indexOf(){  
  3.         String[]arr=new String[]{"a","b","c","d"};  
  4. //      System.out.println(SystemHWUtil.indexOfArr(arr, "d"));  
  5.         org.junit.Assert.assertEquals(3, SystemHWUtil.indexOfArr(arr, "d"));  
  6.     }  

 注意:位置是从零开始的.

(2)

Java代码  

  1. /*** 
  2.      * times byte occure int byte[] 
  3.      *  
  4.      * @param hexStr 
  5.      * @param keyWord 
  6.      * @return 
  7.      */  
  8.     public static int indexOf(String hexStr, String keyWord) {  
  9.         return hexStr.indexOf(keyWord.toLowerCase()) / 2;  
  10.     }  
  11.   
  12.     public static int indexOf(byte[] bytes, String keyWord) {  
  13.         return indexOf(SystemHWUtil.toHexString(bytes), keyWord.toLowerCase());  
  14.     }  
  15.   
  16.     public static int indexOf(byte[] bytes, byte[] keyWord) {  
  17.         return indexOf(SystemHWUtil.toHexString(bytes), SystemHWUtil  
  18.                 .toHexString(keyWord).toLowerCase());  
  19.     }  

 

时间: 2024-08-03 00:01:32

Java 获取元素在数组中的位置的相关文章

java获取两个数组中不同数据的方法_java

本文实例讲述了java获取两个数组中不同数据的方法.分享给大家供大家参考.具体实现方法如下: public static <T> List<T> compare(T[] t1, T[] t2) { List<T> list1 = Arrays.asList(t1); List<T> list2 = new ArrayList<T>(); for (T t : t2) { if (!list1.contains(t)) { list2.add(t)

java去除已排序数组中的重复元素_java

题目描述 给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度. 要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作. 例如: 给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]. 输入 一个已排序的数组,例如[1,1,2]. 输出 返回数组新的长度,例如length=2. 快慢指针法 设置fast指针遍历数组,slow指针指向不重复元素的下一位. public static int remov

java使用Hashtable过滤数组中重复值的方法_java

本文实例讲述了java使用Hashtable过滤数组中重复值的方法.分享给大家供大家参考,具体如下: package org.eline.core.web.support; import java.util.Hashtable; /***************************** * * @author zdw * */ public class ObjectFilter { public static void main(String[] args) { // String 测试 S

c语言-从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中。编程以如下格式显示一个报告

问题描述 从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中.编程以如下格式显示一个报告 从键盘输入每小时登录网络的用户数到一个有24个整型元素的数组中.编程以如下格式显示一个报告: ? 时间? 登录人数? 所占比例 ?0:00 – 1:00 ?1 0.3 ?1:00 – 2:00 ?2 0.7 ?- ?10:00 - 11:00 ?27 9.0 ?11:00 - 12:00 ?28 9.3 - ?23:00 - 0:00 ?8 2.7 ?最大登录人数28发生在11:00到12:00

List对象中存有整型数组,如何找出这些数组中对应位置上的最大值

问题描述 List对象中有几个长度相同的整型数组,如果再在List中循环找出这些数组中对应位置上的最大value,简单例子说明:假如有三个数组如下:int[]a1=newint[]{3,10,5,0};int[]a2=newint[]{1,9,7,6};int[]a3=newint[]{5,3,5,8};比较后得到新数组对象ax=newint[]{5,9,10,8};请问如何在遍历整个List情形下中实现呢?我的平台是VS2005,不能用LINQ实现.thanks 解决方案 解决方案二:你说你这

php获取二维数组中key键值的例子

在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>array( 'id' => 6, 'name' => '李四' ) ); 目的就是要取到key为name的集合,得到这个结果: $arr2 = array(   0=>'张三',   1=>'李四'   ); 这里有几种方法: 1:最简单的,foreach遍历数组: foreach (

js获取元素在浏览器中的绝对位置_javascript技巧

JavaScript中提供获取HTML元素位置的属性: HTMLElement.offsetLeft HTMLElement.offsetHeight 但 是需要注意的是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值.那么如何得到一个HTML元素的绝对位置呢,可以用以下函数: 复制代码 代码如下: //获取元素的纵坐标 function getTop(e){ var o

javascript检查某个元素在数组中的索引值_javascript技巧

在现在代浏览器中判断一个元素在不在一个数组中,咱们可以用Array对象的indexOf()方法来取得这个元素在当前数组中的索引值,若索引值不等于-1,数组中就存在这个元素, 例如: var arr = [2,53,23,'test',9,'array']; //判断array在不在数组arr中 arr.indexOf('array') !== -1 ? alert('存在') : alert('不存在'); 但是IE9以前的版本都不支持此方法,那咱们就只能扩展一个: 代码如下复制代码 Array

js检查某个元素在数组中的索引值

在现在代浏览器中判断一个元素在不在一个数组中,咱们可以用Array对象的indexOf()方法来取得这个元素在当前数组中的索引值,若索引值不等于-1,数组中就存在这个元素,例如:  代码如下 复制代码 var arr = [2,53,23,'test',9,'array']; //判断array在不在数组arr中 arr.indexOf('array') !== -1 ? alert('存在') : alert('不存在'); 但是IE9以前的版本都不支持此方法,那咱们就只能扩展一个:  代码如