android - java判断字符串数组中是否存在某个值,arrays类有这个方法吗
巴扎黑
巴扎黑 2017-04-17 13:37:33
0
7
698

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

巴扎黑
巴扎黑

membalas semua(7)
Ty80

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

迷茫

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

巴扎黑
javabinarySearch(char[] a, char key)
迷茫

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

黄舟

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

Peter_Zhu

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

Peter_Zhu
String[] array = { "Sedan", "Compact", "Roadster", "Minivan", "SUV",
    "Convertible", "Cargo", "Others" };
System.out.println(Arrays.asList(array).contains("SUV"));
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan