首页  >  问答  >  正文

android - java判断字符串数组中是否存在某个值,arrays类有这个方法吗

java判断字符串数组中是否存在某个值,arrays类有这个方法吗

巴扎黑巴扎黑2720 天前655

全部回复(7)我来回复

  • PHP中文网

    PHP中文网2017-04-17 13:39:33

    binarySearch要求字符串数组是有序的,不肯定是否有序的情况下还是自己写判断吧
    仅仅是为了判断是否存在某个值,也没有必要首先排序吧。
    比如:

    public static final String[] TYPES = {
            "Sedan",
            "Compact",
            "Roadster",
            "Minivan",
            "SUV",
            "Convertible",
            "Cargo",
            "Others"
        };
    
    String carName = "SUV"; // 比如说SUV
    int index = -1;
    for (int i=0;i<TYPES.length;i++) {
        if (TYPES[i].equals(carName)) {
            index = i;
            break;
        }
    }
    

    http://stackoverflow.com/questions/23160832/how-to-find-index-of-strin...

    回复
    0
  • 迷茫

    迷茫2017-04-17 13:39:33

    https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch(char[],%20char)

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:39:33

    javabinarySearch(char[] a, char key)
    

    回复
    0
  • 迷茫

    迷茫2017-04-17 13:39:33

    东西不多并且本来就是无序的话.. 可以自己写..
    他们说的Arrays.binarySearch(..) 采用的是2分法查询, 会比较快, 但必须是有序的数组, 如果你的是无序的还得先排序...

    回复
    0
  • 黄舟

    黄舟2017-04-17 13:39:33

    这这这,楼上正解。为了使用二分法而对字符串数组先排序,这完全是为了使用类库而使用类库嘛。写一个循环就可以解决的问题。顶楼上。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 13:39:33

    把数组转为集合如list再判断,也挺方便的

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 13:39:33

    String[] array = { "Sedan", "Compact", "Roadster", "Minivan", "SUV",
        "Convertible", "Cargo", "Others" };
    System.out.println(Arrays.asList(array).contains("SUV"));
    

    回复
    0
  • 取消回复