为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中找到数组中元素的索引?

如何在Java中找到数组中元素的索引?

一只甜甜圈 2019-08-28 10:58:17
如何在Java中找到数组中元素的索引?我希望在Java中找到给定元素的索引,知道它的内容。我尝试了以下示例,该示例不起作用:class masi {      public static void main( String[] args ) {          char[] list = {'m', 'e', 'y'};         // should print 1         System.out.println(list[] == "e");                         } }任何人都可以解释这有什么问题以及我需要做些什么来解决它?
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

在这种情况下,您可以从字符数组中创建新的String,然后对该字符串执行indeoxOf(“e”):

System.out.println(new String(list).indexOf("e"));

但在原始数据类型的其他情况下,您将不得不迭代它。


查看完整回答
反对 回复 2019-08-28
?
12345678_0001

TA贡献1802条经验 获得超5个赞

或者,您可以使用Commons Lang ArrayUtils类:

int[] arr = new int{3, 5, 1, 4, 2};int indexOfTwo = ArrayUtils.indexOf(arr, 2);

indexOf()对于不同的数组类型,存在方法的重载变体。


查看完整回答
反对 回复 2019-08-28
?
烙印99

TA贡献1829条经验 获得超13个赞

这甚至不是有效的语法。你正在尝试与字符串进行比较。对于数组,您必须自己遍历数组:

public class T {
  public static void main( String args[] ) {
    char[] list = {'m', 'e', 'y'};

    int index = -1;

    for (int i = 0; (i < list.length) && (index == -1); i++) {
        if (list[i] == 'e') {
            index = i;
        }
    }

    System.out.println(index);
  }}

如果您正在使用集合,例如ArrayList<Character>您也可以使用以下indexOf()方法:

ArrayList<Character> list = new ArrayList<Character>();list.add('m');list.add('e');list.add('y');System.out.println(list.indexOf('e'));

还有一个Arrays类缩短了上面的代码:

List list = Arrays.asList(new Character[] { 'm', 'e', 'y' });System.out.println(list.indexOf('e'));


查看完整回答
反对 回复 2019-08-28
  • 3 回答
  • 0 关注
  • 4324 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信