搜索Collections元素,用DateFormatSymbols 获得月份

import java.util.Collections;
import java.util.List;
import java.text.DateFormatSymbols;
import java.util.LinkedList;


public class SearchCollections {

    public static void main(String[] args) {
        List list = new LinkedList();
        
        /**
         * DateFormatSymbols 是一个公共类,用于封装可本地化的日期-时间格式化数据,
         * 如月名、星期几的名称和时区数据。DateFormat 和 SimpleDateFormat 
         * 都使用 DateFormatSymbols 封装此信息。 Sysmbols:符号,标记
         * 通过从默认语言环境资源加载格式数据,构造一个 DateFormatSymbols 对象。
         */
        DateFormatSymbols dfs = new DateFormatSymbols();
        
        String[] months = dfs.getMonths();//拿到月份
        for(int i = 0; i < months.length; i++){
            String month = months[i];
            list.add(month);
        }
        
        Collections.sort(list);//这里如果不排序,顺序是对的,sort后出出现下面的结果!
        System.out.println("月份的名字:" + list);
        /**
         * 月份的名字:[, 一月, 七月, 三月, 九月, 二月, 五月, 八月, 六月, 十一月, 十二月, 十月, 四月]
         * 发现它的位置在:10
         * 月份 = 十二月
         */
        
        int index = Collections.binarySearch(list, "十二月");//用二分法查找list里面'十二月'
        if(index>0){
            System.out.println("发现它的位置在:"+index);
            
            String month = (String)list.get(index);//list.get()方法:返回列表中指定位置的元素。
            System.out.println("月份 = "+month);
        }

    }

}

 

posted @ 2015-06-26 10:20  星辰之力  阅读(258)  评论(0编辑  收藏  举报