基于可用大小的Java列表循环

基于可用大小的Java列表循环,java,for-loop,arraylist,Java,For Loop,Arraylist,我只想显示myList中的12个排序元素。如果大小小于12,比如说5、3或1,我仍然需要循环并仅显示那些可用的项目 下面是我的代码: public class JavaApplication { public static void main(String[] args) { List<String> myList = new ArrayList<>(); myList.add("20150830"); myLi

我只想显示
myList
中的12个排序元素。如果大小小于12,比如说5、3或1,我仍然需要循环并仅显示那些可用的项目

下面是我的代码:

public class JavaApplication {

    public static void main(String[] args) {

        List<String> myList = new ArrayList<>();
        myList.add("20150830");
        myList.add("20141201");
        myList.add("20150716");
        myList.add("20151131"); 
        myList.add("20141101");
        myList.add("20150620");
        myList.add("20150301");
        myList.add("20150702");
        myList.add("20150511");

        Collections.sort(myList,Collections.reverseOrder());

        for(int i = 0; i < myList.size(); i++) {
            System.out.println(myList.get(i).toString());
        }
    }     
}
公共类Java应用程序{
公共静态void main(字符串[]args){
List myList=new ArrayList();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
Collections.sort(myList,Collections.reverseOrder());
对于(int i=0;i
只需在循环中再添加一个条件,将循环限制为12

for(int i = 0; i < myList.size() &&  i < 12 ; i++){
    System.out.println(myList.get(i).toString());
}
for(int i=0;i
只需在循环中再添加一个条件,将循环限制为12

for(int i = 0; i < myList.size() &&  i < 12 ; i++){
    System.out.println(myList.get(i).toString());
}
for(int i=0;i
这是流的一个很好的用例

myList.stream()
        .sorted(Comparator.<String>reverseOrder())
        .limit(12)
        .forEach(System.out::println);
myList.stream()
.sorted(Comparator.reverseOrder())
.限额(12)
.forEach(System.out::println);

这是流的一个很好的用例

myList.stream()
        .sorted(Comparator.<String>reverseOrder())
        .limit(12)
        .forEach(System.out::println);
myList.stream()
.sorted(Comparator.reverseOrder())
.限额(12)
.forEach(System.out::println);
您可以尝试:

int maxValuesToDisplay=12;
int maxToIterate=(myList.size()<maxValuesToDisplay) ? myList.size() : maxValuesToDisplay;

for(int i = 0; i < maxToIterate; i++){
    System.out.println(myList.get(i).toString());
}
int-maxValuesToDisplay=12;
int maxToIterate=(myList.size()您可以尝试:

int maxValuesToDisplay=12;
int maxToIterate=(myList.size()<maxValuesToDisplay) ? myList.size() : maxValuesToDisplay;

for(int i = 0; i < maxToIterate; i++){
    System.out.println(myList.get(i).toString());
}
int-maxValuesToDisplay=12;
int-maxToIterate=(myList.size()使用
List.subList(int-fromIndex,int-toIndex);

公共类Java应用程序{
公共静态void main(字符串[]args){
List myList=new ArrayList();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
Collections.sort(myList,Collections.reverseOrder());
int a=myList.size();
列表子列表=空;
如果(a使用
List.subList(int-fromIndex,int-toIndex);

公共类Java应用程序{
公共静态void main(字符串[]args){
List myList=new ArrayList();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
Collections.sort(myList,Collections.reverseOrder());
int a=myList.size();
列表子列表=空;

如果(a您可以使用
Math.min()
函数,迭代
12
列表大小的最小值

for(int i = 0; i < Math.min(myList.size(), 12); i++){
    System.out.println(myList.get(i).toString());
   }
for(inti=0;i
您可以使用
Math.min()
函数迭代
12
列表大小的最小值

for(int i = 0; i < Math.min(myList.size(), 12); i++){
    System.out.println(myList.get(i).toString());
   }
for(inti=0;i
您可以使用TreeSet:

public static void main(String[] args) {
    Set<String> myList = new TreeSet<>();
    myList.add("20150830");
    myList.add("20141201");
    myList.add("20150716");
    myList.add("20151131");
    myList.add("20141101");
    myList.add("20150620");
    myList.add("20150301");
    myList.add("20150702");
    myList.add("20150511");

    int i = 0;
    for(String s : myList){
        System.out.println(s);
        i++;
        if(i >= 5) {
            break;
        }
    }
}
publicstaticvoidmain(字符串[]args){
Set myList=new TreeSet();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
int i=0;
for(字符串s:myList){
系统输出打印项次;
i++;
如果(i>=5){
打破
}
}
}
对于相反的顺序:

    public static void main(String[] args) {
        TreeSet<String> myList = new TreeSet<>();
        myList.add("20150830");
        myList.add("20141201");
        myList.add("20150716");
        myList.add("20151131");
        myList.add("20141101");
        myList.add("20150620");
        myList.add("20150301");
        myList.add("20150702");
        myList.add("20150511");

        Iterator<String> it = myList.descendingIterator();
        int i = 0;

        while(it.hasNext()) {
            String s = it.next();
            System.out.println(s);
            i++;
            if (i >= 5) {
                break;
            }
        }
    }
publicstaticvoidmain(字符串[]args){
TreeSet myList=新的TreeSet();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
迭代器it=myList.DegendingIterator();
int i=0;
while(it.hasNext()){
字符串s=it.next();
系统输出打印项次;
i++;
如果(i>=5){
打破
}
}
}
您可以使用TreeSet:

public static void main(String[] args) {
    Set<String> myList = new TreeSet<>();
    myList.add("20150830");
    myList.add("20141201");
    myList.add("20150716");
    myList.add("20151131");
    myList.add("20141101");
    myList.add("20150620");
    myList.add("20150301");
    myList.add("20150702");
    myList.add("20150511");

    int i = 0;
    for(String s : myList){
        System.out.println(s);
        i++;
        if(i >= 5) {
            break;
        }
    }
}
publicstaticvoidmain(字符串[]args){
Set myList=new TreeSet();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
int i=0;
for(字符串s:myList){
系统输出打印项次;
i++;
如果(i>=5){
打破
}
}
}
对于相反的顺序:

    public static void main(String[] args) {
        TreeSet<String> myList = new TreeSet<>();
        myList.add("20150830");
        myList.add("20141201");
        myList.add("20150716");
        myList.add("20151131");
        myList.add("20141101");
        myList.add("20150620");
        myList.add("20150301");
        myList.add("20150702");
        myList.add("20150511");

        Iterator<String> it = myList.descendingIterator();
        int i = 0;

        while(it.hasNext()) {
            String s = it.next();
            System.out.println(s);
            i++;
            if (i >= 5) {
                break;
            }
        }
    }
publicstaticvoidmain(字符串[]args){
TreeSet myList=新的TreeSet();
myList.add(“20150830”);
myList.add(“20141201”);
myList.add(“20150716”);
myList.add(“20151131”);
myList.add(“20141101”);
myList.add(“20150620”);
myList.add(“20150301”);
myList.add(“20150702”);
myList.add(“20150511”);
迭代器it=myList.DegendingIterator();
int i=0;
while(it.hasNext()){
字符串s=it.next();
系统输出打印项次;
i++;
如果(i>=5){
打破
}
}
}
Try:
for(int i=0;i
或者
for(int i=0;i