Java如何搜索集合元素?
本示例使用Collections.binarySearch()来搜索指定集合内的指定对象。在调用该binarySearch()方法之前,我们需要对集合的元素进行排序。如果未按对象的自然顺序对对象进行排序,则搜索结果将不确定。
package org.nhooo.example.util;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Collections;
import java.text.DateFormatSymbols;
public class CollectionSearch {
public static void main(String[] args) {
DateFormatSymbols dfs = new DateFormatSymbols();
LinkedList<String> monthList = new LinkedList<>();
monthList.addAll(Arrays.asList(dfs.getMonths()));
//排序集合元素
Collections.sort(monthList);
System.out.println("Months = " + monthList);
//获取11月在monthList中的位置。返回正数
//如果在monthList中找到该项目,则返回值。
int index = Collections.binarySearch(monthList, "November");
if (index > 0) {
System.out.println("Found at index = " + index);
System.out.println("Month = " + monthList.get(index));
}
}
}上面的代码片段的输出如下。
Months = [, April, August, December, February, January, July, June, March, May, November, October, September] Found at index = 10 Month = November
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短