Java 对随机序列多次使用take(n)

Java 对随机序列多次使用take(n),java,random,sequence,totallylazy,Java,Random,Sequence,Totallylazy,我想从随机序列中选取字符串组。我发现Randoms.takeFromValues提供了一个最适合这种情况的序列。但它并没有像预期的那样安静地工作。我确信有些事情我做得不对。这是一个测试代码,它在第二次断言时失败,因为list2的大小是2而不是3 @Test public void totallylazy_random_sequence_test() { List<String> strings = list("string-1","string-2","string-3","

我想从随机序列中选取字符串组。我发现Randoms.takeFromValues提供了一个最适合这种情况的序列。但它并没有像预期的那样安静地工作。我确信有些事情我做得不对。这是一个测试代码,它在第二次断言时失败,因为list2的大小是2而不是3

@Test
public void totallylazy_random_sequence_test() {
    List<String> strings = list("string-1","string-2","string-3","string-4","string-5","string-6");
    Sequence<String> selector = Randoms.takeFromValues(strings);
    List<String> list1 = selector.take(3).toList();
    List<String> list2 = selector.take(3).toList();
    assertThat(list1.size(), is(3));
    assertThat(list2.size(), is(3));
}
@测试
公共空间随机序列测试(){
列表字符串=列表(“字符串1”、“字符串2”、“字符串3”、“字符串4”、“字符串5”、“字符串6”);
序列选择器=Randoms.takeFromValues(字符串);
list1=selector.take(3.toList();
list2=选择器.take(3.toList();
资产(list1.size(),是(3));
断言(list2.size(),为(3));
}

您使用的是什么版本的TL?因为我认为这可能是由这个老错误引起的:


嘿,丹,谢谢你。我升级到了最新的版本,并修复了它。我用的是1.72。虽然这次升级迫使我也升级了完全空闲但不是biggi,但一切都是最新的并且正常工作。谢谢你的帮助和很棒的图书馆