当前位置: 首页>>代码示例>>Java>>正文


Java Stream.iterate方法代码示例

本文整理汇总了Java中java.util.stream.Stream.iterate方法的典型用法代码示例。如果您正苦于以下问题:Java Stream.iterate方法的具体用法?Java Stream.iterate怎么用?Java Stream.iterate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.util.stream.Stream的用法示例。


在下文中一共展示了Stream.iterate方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: combinations

import java.util.stream.Stream; //导入方法依赖的package包/类
static Stream<int[]> combinations(Case c) {
    int[] sizes = c.replacementKeys().stream()
                   .mapToInt(key -> c.replacements().get(key).size())
                   .toArray();

    return Stream.iterate(
        new int[sizes.length],
        state -> state != null,
        state -> {
            int[] newState = state.clone();
            for (int i = 0; i < state.length; i++) {
                if (++newState[i] < sizes[i]) {
                    return newState;
                }
                newState[i] = 0;
            }
            // wrapped-around
            return null;
        }
    );
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:PublicMethodsTest.java

示例2: flattenWithInfiniteOuterStream

import java.util.stream.Stream; //导入方法依赖的package包/类
@Test public void flattenWithInfiniteOuterStream() throws Exception {
  Stream<List<Integer>> infinite = Stream.iterate(
      ImmutableList.of(1), l -> l.stream().map(i -> i + 1).collect(toImmutableList()));
  Stream<Integer> flattened = MoreStreams.flatten(infinite.map(l -> l.stream()));
  assertThat(flattened.limit(5).collect(toList()))
      .containsExactly(1, 2, 3, 4, 5).inOrder();
}
 
开发者ID:google,项目名称:mug,代码行数:8,代码来源:MoreStreamsTest.java

示例3: infinite

import java.util.stream.Stream; //导入方法依赖的package包/类
public static Stream<String> infinite(String line, long pauseMillis) {
    return Stream.iterate(line, (s) -> {
        try {
            Thread.sleep(pauseMillis);
        } catch (Exception e) {
        }
        return s;
    });
}
 
开发者ID:trejnado,项目名称:java8-practice,代码行数:10,代码来源:TextGenerator.java

示例4: main

import java.util.stream.Stream; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
	
	//Creating Streams using user/programmatically specified elements  
	 Stream<String> Userstream = Stream.of("Creating","Streams","from","Specific","elements");
	 Userstream.forEach(p -> System.out.println(p));
     
	 
	 //Creating Streams using array of objects
        Stream<String> ArrayStream = Stream.of( new String[]{"Stream","from","an","array","of","objects"} );
        ArrayStream.forEach(p -> System.out.println(p)); 
    
       
        //Creating Streams from an array
        String[] StringArray=new String[]{"We","can","convert","an","array","to","a","Stream","using","Arrays","as","well"};
        Stream<String> StringStream=Arrays.stream(StringArray);
        StringStream.forEach(p -> System.out.println(p));
        
        //Creating Streams from Collection
        List<Double> myCollection = new ArrayList<>();
        for(int i=0; i<10; i++){
       	 myCollection.add(Math.random());
        }
               //sequential stream
        Stream<Double> sequentialStream = myCollection.stream();
        sequentialStream.forEach(p -> System.out.println(p));
        		
                //parallel stream
        Stream<Double> parallelStream = myCollection.parallelStream();
        parallelStream.forEach(p -> System.out.println(p));
        
        
        //Stream from Hashmap
        Map<String, Integer> mapData = new HashMap<>();
        mapData.put("This", 1900);
        mapData.put("is", 2000);
        mapData.put("HashMap", 2100);
        
        mapData.entrySet()
       		.stream()
       		.forEach(p -> System.out.println(p));
        
        mapData.keySet()
               .stream()
               .forEach(p-> System.out.println(p));
        
        //primitive streams 
        IntStream.range(1, 4)
        .forEach(p -> System.out.println(p));
        
        LongStream.rangeClosed(1, 4)
        .forEach(p -> System.out.println(p));
        
        DoubleStream.of(1.0,2.0,3.0,4.0)
        .forEach(p -> System.out.println(p));
        
        //Infinite Streams using generate()
        Stream <Double> sequentialDoubleStream = Stream.generate(Math :: random); 

        Stream<Integer> sequentialIntegerStream = Stream.generate(new AtomicInteger () :: getAndIncrement); 

        //Infinite Streams using iterate()
        Stream <Integer> sequentialIntegerStream1 = Stream.iterate (Integer.MIN_VALUE, i -> i++); 

        Stream <BigInteger> sequentialBigIntegerStream = Stream.iterate(BigInteger.ZERO, i -> i.add (BigInteger.TEN)); 
        
        //Streams from File
        Stream<String> streamOfStrings = Files.lines(Paths.get("Apology_by_Plato.txt"));
        Stream<String> streamWithCharset = Files.lines(Paths.get("Apology_by_Plato.txt"), Charset.forName("UTF-8"));

      
}
 
开发者ID:PacktPublishing,项目名称:Apache-Spark-2x-for-Java-Developers,代码行数:72,代码来源:CreateStreamExample.java

示例5: historyStream

import java.util.stream.Stream; //导入方法依赖的package包/类
private Stream<ImmutableBoard> historyStream() {
  return Stream.iterate(this, Objects::nonNull, ImmutableBoard::parentBoard);
}
 
开发者ID:sudhirj,项目名称:switchboard,代码行数:4,代码来源:ImmutableBoard.java

示例6: zipIndex

import java.util.stream.Stream; //导入方法依赖的package包/类
/**
 * Indexes the elements of the given finite list, starting from {@code 0}.
 * For example (pseudo code): {@code zipIndex([a,b,c]) = [(a, 0), (b, 1),
 * (c, 2)]}.
 * This is a terminal operation on the input streams.
 * @param <X> any type.
 * @param xs the list to index.
 * @return the indexed list.
 * @throws NullPointerException if any argument is {@code null}.
 */
public static <X> Stream<Pair<Integer, X>> zipIndex(Stream<X> xs) {
    Stream<Integer> ks = Stream.iterate(0, x -> x + 1);
    return zip(ks, xs);
}
 
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:15,代码来源:Streams.java


注:本文中的java.util.stream.Stream.iterate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。