Articles of java java 8

Combinez plusieurs structures Map en joignant des listes avec des clés du même nom.

Quel serait le moyen le plus propre de faire cela? j’ai Map<String, List> map1 = …; Map<String, List> map2 = …; Map<String, List> map3 = …; Les cartes ont toutes exactement les mêmes clés et aucune valeur en double. Je souhaite append les listes de map2 et map3 à la fin de la liste de […]

java8 – annotant compareTo de Comparable ajoute des annotations à compareTo (Object o)

J’ai une annotation package javaannotationtest; import java.lang.annotation.*; @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface CustomAnnotation { } Ceci est appliqué à compareTo dans la classe suivante package javaannotationtest; public class Customer implements Comparable{ @Override @CustomAnnotation public int compareTo(Customer o) { return 0; } } La classe donne un résultat différent avec le code compilé java-7 et java-8. Java […]

Référentiels JPA Spring Data avec Java 8 Streams

Disons que j’ai le référentiel suivant: public interface UserRepository extends JpaRepository { @Query(“select u from User u”) Stream streamAllPaged(Pageable pageable); } Et je veux effectuer une recherche: public Page findAllUsers(Pageable page) { Page page = null; try (Stream users = userRepository.streamAllPaged(page)) { Set users = users.filter(u -> user.getName().equals(“foo”)) .collect(Collectors.toSet()); //create page from set? } } […]

Implémenter le produit cartésien des collections par Java 8

Pour le moment, je ne peux implémenter que le produit cartésien de deux collections, en voici le code: public static <T1, T2, R extends Collection<Pair>> R getCartesianProduct( Collection c1, Collection c2, Collector<Pair, ?, R> collector) { return c1.stream() .flatMap(e1 -> c2.stream().map(e2 -> new Pair(e1, e2))) .collect(collector); } Ce code fonctionne bien dans IntelliJ , mais […]

Pourquoi Comparator.comparing ne fonctionne pas avec la référence à la méthode Ssortingng :: toLowerCase?

J’essaie de sortinger un tableau de chaînes par ordre inverse (en ignorant la casse), sans le modifier, et en l’imprimant simplement. J’utilise donc le stream Java8. Mais je n’arrive pas à le faire. Voici ma tentative: package experimentations.chapter02; import java.util.Arrays; import java.util.Comparator; import java.util.stream.Collectors; public class SsortingngStream { public static void main(Ssortingng[] args) { sortSsortingngs(); […]

Comptage de caractères spécifiques dans un tableau à deux dimensions à l’aide d’un stream

Je voudrais compter les occurrences d’un caractère (par exemple l’espace: ‘ ‘ ) dans un tableau 2D, en utilisant stream. J’essayais de trouver une solution. Voici mon code, utilisant une boucle nestede: public int countFreeSpaces() { int freeSpaces = 0; for (int i = 0; i < height; i++) { for (int j = 0; […]

existe-t-il un moyen d’append un constructeur par défaut à une interface?

Avec les méthodes par défaut ajoutées à Java 8, existe-t-il un moyen de créer un constructeur par défaut? J’ai essayé: public interface KadContent { public default KadContent() { } … Obtenir l’erreur expected de Netbeans Pourquoi avait besoin? J’utilise Gson pour sérialiser les objects et obtenir l’erreur “Impossible d’appeler le constructeur no-args ..” et je […]

Comment dénoter les versions de Java correctement?

J’ai déjà vu trois notations de version Java possibles. Par exemple, Java 8 peut être écrit de la manière suivante: Java 8 Java 8 SE java 1.8 Quel est le bon? Je veux dire lequel est utilisable en écriture académique? Problème similaire avec JDK et JRE

Pourquoi ne fonctionne pas pour Integer?

Pourquoi Predicate isGreaterThanZero = num -> num.intValue() > 0; fonctionne pour isGreaterThanZero.test( new Integer( 2 )); et pas Predicate isGreaterThanZero = num -> num.intValue() > 0; Je les vois comme les mêmes puisque Integer est un Number

Filtre de week-end pour Java 8 LocalDateTime

Je veux écrire une fonction de valeur booléenne qui renvoie true si le LocalDateTime donné LocalDateTime situe entre deux LocalDateTime spécifiques, false sinon. Plus précisément, je souhaite utiliser un filtre LocalDateTime si une date donnée se situe entre 22h00 GMT le vendredi et 23h00 GMT le dimanche. Un squelette pourrait ressembler à ceci: public boolean […]