Java 确定arrayList中整数值的范围(间隔)

Java 确定arrayList中整数值的范围(间隔),java,range,intervals,Java,Range,Intervals,我想开发一个函数,它通过arrayList中的一组整数作为过滤器。基本上,我必须在arrayList中检索最大值和最小值 示例:min=1970和max=2012(谈论年份,但它们被视为简单整数) 我必须确定一个五年的范围,这样产量才能 “从1970年到1975年”onclick I将列出“1970年”、“1971年”、“1972年”、“1973年”、“1974年”、“1975年” “从1970年到1975年”。。。。。。。 ...... “从2010年到2012年”onclick I将列出“2

我想开发一个函数,它通过arrayList中的一组整数作为过滤器。基本上,我必须在arrayList中检索最大值和最小值

示例:min=1970和max=2012(谈论年份,但它们被视为简单整数)

我必须确定一个五年的范围,这样产量才能

“从1970年到1975年”onclick I将列出“1970年”、“1971年”、“1972年”、“1973年”、“1974年”、“1975年” “从1970年到1975年”。。。。。。。 ...... “从2010年到2012年”onclick I将列出“2010年”、“2011年”、“2012年”

我以前使用pattern/matcher以按字母顺序创建间隔,在这里我将按正确的字母顺序范围(例如从A到B)对字符串进行分类,但这是不同的,因为我必须定义5的范围,并创建子数组

请帮忙


感谢您

如果对列表进行了排序,那么您只需使用一个简单的函数即可获得较低值的索引和较高值的索引,然后使用这些索引返回子列表

以下是一个示例程序:

public class Main {

    public static void main(String[] args) {

        List<Integer> myList = new ArrayList<Integer>();

        for (int i = 1970; i < 2013; i++) {
            myList.add(i);
        }

        List<Integer> subList = getRange(myList, 1988, 1994);

        for (Integer i : subList) {
            System.out.println(i);
        }

    }

    public static List<Integer> getRange(List<Integer> fromList, int lowVal, int highVal)
    {
        int lowValIndex = fromList.indexOf(lowVal);
        int highValIndex = fromList.indexOf(highVal);

        return fromList.subList(lowValIndex, highValIndex + 1); 
    }

}
公共类主{
公共静态void main(字符串[]args){
List myList=new ArrayList();
对于(int i=1970;i<2013;i++){
添加(i);
}
列表子列表=getRange(myList,1988年和1994年);
for(整数i:子列表){
系统输出打印LN(i);
}
}
公共静态列表getRange(列表fromList、int-lowVal、int-highVal)
{
int lowValIndex=fromList.indexOf(lowVal);
int highValIndex=fromList.indexOf(highVal);
从列表返回。子列表(lowValIndex,highValIndex+1);
}
}

这将从列表中返回1988->1994。

你所说的“onclic”是什么意思?你所说的“onclic”是指某个事件吗?请再详细说明一下。如果您尝试过一些东西,代码片段会有所帮助。