30 AĞUSTOS 2013, Cuma
Java 8 değer veya işlevini tekrarlamak için iyi bir yol sağlar mı?
Diğer birçok dilde, örneğin. Haskell, kolay bir değeri tekrar ya da birkaç kez fonksiyonu, örn. değeri 1 8 kopya listesi için:
take 8 (repeat 1)
ama bu Java 8'de henüz bulamadım. Java'da böyle bir işlevi 8. hangi FIRSATLAR var?
Veya alternatif olarak bir şey aralığına eşdeğer gibi
[1..8]
Java ayrıntılı bir açıklama için bariz bir alternatif gibi görünüyor
for (int i = 1; i <= 8; i ) {
System.out.println(i);
}
bir şey gibi
Range.from(1, 8).forEach(i -> System.out.println(i))
bu belirli bir örnek, çok daha kısa aslında görünmüyor ama... ama umarım daha okunabilir.
CEVAP
30 AĞUSTOS 2013, Cuma
Bu özel örneğin, yapabilirsiniz:
IntStream.rangeClosed(1, 8)
.forEach(System.out::println);
Eğer bir adım 1, eşleme işlevini kullanabilirsiniz, Örneğin farklı ihtiyacınız varsa, 2 adım için:
IntStream.rangeClosed(1, 8)
.map(i -> 2 * i - 1)
.forEach(System.out::println);
Ya da özel bir yineleme oluşturmak ve yinelemenin boyutu sınırı:
IntStream.iterate(1, i -> i 2)
.limit(8)
.forEach(System.out::println);
Bunu Paylaş:
Nasıl iki mutlak yol (veya URL) Java g...
C typedef anahtar kelimesi için Java e...
Nasıl C#, C veya 1 2 3 ... 1000 hesapl...
Bir Java null int bir değer için kontr...
Dize tek boşluk ile 2 veya daha fazla ...