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.     }  

 

相关文章
|
3天前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
|
17天前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
|
17天前
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
35 2
|
25天前
|
Java 编译器 测试技术
|
9天前
|
存储 Java
java数据结构,线性表顺序存储(数组)的实现
文章介绍了Java中线性表顺序存储(数组)的实现。线性表是数据结构的一种,它使用数组来实现。文章详细描述了线性表的基本操作,如增加、查找、删除、修改元素,以及其他操作如遍历、清空、求长度等。同时,提供了完整的Java代码实现,包括MyList接口和MyLinearList实现类。通过main函数的测试代码,展示了如何使用这些方法操作线性表。
|
2月前
|
存储 Java
Java中ArrayList 元素的排序
本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。
|
2月前
|
Java
Java数组的应用场景
Java数组的应用场景
29 1
|
2月前
|
存储 机器学习/深度学习 Java
Java数组
Java数组
27 1
|
2月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
36 0
|
2月前
|
存储 Java 开发者
揭秘!HashMap底层结构大起底:从数组到链表,再到红黑树,Java性能优化的秘密武器!
【8月更文挑战第24天】HashMap是Java集合框架中的核心组件,以其高效的键值对存储和快速访问能力广受开发者欢迎。在JDK 1.8及以后版本中,HashMap采用了数组+链表+红黑树的混合结构,实现了高性能的同时解决了哈希冲突问题。数组作为基石确保了快速定位;链表则用于处理哈希冲突;而当链表长度达到一定阈值时,通过转换为红黑树进一步提升性能。此外,HashMap还具备动态扩容机制,当负载因子超过预设值时自动扩大容量并重新哈希,确保整体性能。通过对HashMap底层结构的深入了解,我们可以更好地利用其优势解决实际开发中的问题。
64 0
下一篇
无影云桌面