java – 将列表截断到给定数量的元素

什么方法截断列表 – 例如到前100个元素 – 丢弃其他(不迭代单个元素)?
使用List.subList

import java.util.*;
import static java.lang.Math.min;

public class T {
  public static void main( String args[] ) {
    List<String> items = Arrays.asList("1");
    List<String> subItems = items.subList(0, min(items.size(), 2));

    // Output: [1]
    System.out.println( subItems );

    items = Arrays.asList("1", "2", "3");
    subItems = items.subList(0, min(items.size(), 2));

    // Output: [1, 2]
    System.out.println( subItems );
  }
}

您应该记住,subList返回一个项目的视图,所以如果你想让列表的其余部分有资格进行垃圾收集,你应该将你想要的项目复制到一个新的列表:

List<String> subItems = new ArrayList<String>(items.subList(0, 2));

如果列表短于指定的大小,则期望超出范围exception.选择所需大小的最小值和列表的当前大小作为结束索引。

最后,请注意,第二个参数应该比最后一个所需的索引多一个。

http://stackoverflow.com/questions/1279476/truncate-a-list-to-a-given-number-of-elements

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 将列表截断到给定数量的元素