sjrd.util
Class ArrayUtils

java.lang.Object
  extended by sjrd.util.ArrayUtils

public class ArrayUtils
extends Object

Fonctions utilitaires sur des tableaux

Author:
sjrd

Constructor Summary
ArrayUtils()
           
 
Method Summary
static boolean arrayContains(Object[] array, Object item)
          Teste si un élément est présent dans un tableau
static int arrayIndexOf(Object[] array, Object item)
          Recherche un élément dans un tableau
static
<T> T[]
concatArrays(Class<T> clazz, T[]... arrays)
          Concatène des tableaux
static
<T> T[]
concatArrays(T[]... arrays)
          Concatène des tableaux Au moins un tableau doit être donné en argument.
static
<T> T[]
createArray(Class<T> clazz, int length)
          Crée un tableau d'un type de données générique
static
<T> T[]
createArrayLike(T[] base, int length)
          Crée un tableau d'éléments du même type qu'un autre tableau
static
<T,V> V[]
mapArray(T[] source, V[] dest, Mapper<? super T,? extends V> mapper)
          Convertit les éléments d'un tableau en un autre type, avec un mapper Si le tableau dest est suffisamment grand pour accueillir le résultat, il est utilisé.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayUtils

public ArrayUtils()
Method Detail

arrayIndexOf

public static int arrayIndexOf(Object[] array,
                               Object item)
Recherche un élément dans un tableau

Parameters:
array - Tableau
item - Élément à rechercher
Returns:
Index de l'élément dans le tableau, ou -1 si non trouvé

arrayContains

public static boolean arrayContains(Object[] array,
                                    Object item)
Teste si un élément est présent dans un tableau

Parameters:
array - Tableau
item - Élément à rechercher
Returns:
true si l'élément est présent, false sinon

createArray

public static <T> T[] createArray(Class<T> clazz,
                                  int length)
Crée un tableau d'un type de données générique

Type Parameters:
T - Type des éléments du tableau
Parameters:
clazz - Classe des éléments du tableau
length - Longueur du tableau à créer
Returns:
Tableau créé

createArrayLike

public static <T> T[] createArrayLike(T[] base,
                                      int length)
Crée un tableau d'éléments du même type qu'un autre tableau

Type Parameters:
T - Type des éléments du tableau
Parameters:
base - Tableau modèle
length - Longueur du tableau à créer
Returns:
Tableau créé

concatArrays

public static <T> T[] concatArrays(Class<T> clazz,
                                   T[]... arrays)
Concatène des tableaux

Type Parameters:
T - Type des éléments du tableau
Parameters:
clazz - Classe des éléments du tableau
arrays - Tableaux à concaténer
Returns:
Tableau contenant les éléments de tous les tableaux, dans l'ordre

concatArrays

public static <T> T[] concatArrays(T[]... arrays)
Concatène des tableaux

Au moins un tableau doit être donné en argument.

Type Parameters:
T - Type des éléments du tableau
Parameters:
arrays - Tableaux à concaténer
Returns:
Tableau contenant les éléments de tous les tableaux, dans l'ordre

mapArray

public static <T,V> V[] mapArray(T[] source,
                                 V[] dest,
                                 Mapper<? super T,? extends V> mapper)
Convertit les éléments d'un tableau en un autre type, avec un mapper

Si le tableau dest est suffisamment grand pour accueillir le résultat, il est utilisé. Sinon, un nouveau tableau est créé, et renvoyé.

Chaque élément du tableau source est converti via la méthode map du mapper, et le résultat est placé à l'index correspondant du résultat.

Type Parameters:
T - Type d'origine des éléments
V - Type de destination des éléments
Parameters:
source - Tableau source
dest - Tableau destination
mapper - Mapper
Returns:
Tableau résultat (éventuellement égal à dest)