Joindre des tableaux en Java

Joindre des tableaux en Java

Méthodes de concaténation (fusion, concaténation) de tableaux en Java

  public static <T> T[] concat(final T[] array1, final T... array2) {
    final Class<?> type1 = array1.getClass().getComponentType();
    final T[] joinedArray = (T[]) Array.newInstance(type1, array1.length + array2.length);
    System.arraycopy(array1, 0, joinedArray, 0, array1.length);
    System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
    return joinedArray;
  }

Tableaux de jonction de chaînes

import java.lang.reflect.Array;
import java.util.Arrays;

public class ConcatArray {

  public static void main(String[] args) {

    String[] str1 = { "a", "b", "c" };
    String[] str2 = { "d", "e", "f" };

    String[] concatStr = concat(str1, str2);
    System.out.println(Arrays.toString(concatStr));

  }

  @SuppressWarnings("unchecked")
  public static <T> T[] concat(final T[] array1, final T... array2) {
    final Class<?> type1 = array1.getClass().getComponentType();
    final T[] joinedArray = (T[]) Array.newInstance(type1, array1.length + array2.length);
    System.arraycopy(array1, 0, joinedArray, 0, array1.length);
    System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
    return joinedArray;
  }
}

résultat

[a, b, c, d, e, f]

Joindre des tableaux d'entiers

import java.lang.reflect.Array;
import java.util.Arrays;

public class ConcatArray2 {

  public static void main(String[] args) {

    Integer[] int1 = { 1, 2, 3 };
    Integer[] concatInt = concat(int1, 4, 5, 6);
    System.out.println(Arrays.toString(concatInt));

  }

  @SuppressWarnings("unchecked")
  public static <T> T[] concat(final T[] array1, final T... array2) {
    final Class<?> type1 = array1.getClass().getComponentType();
    final T[] joinedArray = (T[]) Array.newInstance(type1, array1.length + array2.length);
    System.arraycopy(array1, 0, joinedArray, 0, array1.length);
    System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
    return joinedArray;
  }
}

résultat

[1, 2, 3, 4, 5, 6]

Joindre des tableaux d'objets

import java.lang.reflect.Array;
import java.util.Arrays;

public class ConcatArray3 {

  public static void main(String[] args) {

    class Person {
      public String name;
      public int age;

      public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
      }

      @Override
      public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
      }

    }

    Person[] person1 = { new Person("Tom", 10), new Person("Jenny", 15) };
    Person[] person2 = { new Person("John", 18), new Person("Jack", 22) };

    Person[] concatPerson = concat(person1, person2);
    System.out.println(Arrays.toString(concatPerson));
  }

  @SuppressWarnings("unchecked")
  public static <T> T[] concat(final T[] array1, final T... array2) {
    final Class<?> type1 = array1.getClass().getComponentType();
    final T[] joinedArray = (T[]) Array.newInstance(type1, array1.length + array2.length);
    System.arraycopy(array1, 0, joinedArray, 0, array1.length);
    System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
    return joinedArray;
  }
}

résultat

[Person [name=Tom, age=10], Person [name=Jenny, age=15], Person [name=John, age=18], Person [name=Jack, age=22]]

Recommended Posts

Joindre des tableaux en Java
Fonctionnement des tableaux en Java (illustration)
Combiner des listes Java8
Partition en Java
[Java] À propos des tableaux
Changements dans Java 11
Janken à Java
À propos des tableaux Java
Taux circonférentiel à Java
FizzBuzz en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Java, à propos d'un tableau à deux dimensions
Application Janken en Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
"Hello World" en Java
Interface appelable en Java
Commentaires dans la source Java
Fonctions Azure en Java
Formater XML en Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
POST JSON en Java
Exprimer l'échec en Java
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Utiliser PreparedStatement en Java
Nouveautés de Java 9,10,11
Exécution parallèle en Java
Essayez d'utiliser RocksDB avec Java
Lire des fichiers binaires en Java 1
Évitez l'erreur que Yuma a donnée en Java
Obtenir des informations EXIF en Java
Étudier le tableau, la liste, la carte Java
[Neta] Sleep Sort en Java
Modifier ini en Java: ini4j
L'histoire de Java dans ce monde
Segfo Java en 6 lignes
Essayez d'appeler JavaScript en Java
Essayez de développer Spresense avec Java (1)
Essayez le type fonctionnel en Java! ①
J'ai fait une roulette à Java.
Implémentation de l'authentification en deux étapes en Java
Refactoring: faire du Blackjack en Java
Ecrire des rappels de vol en Java