Java - Ajoute des valeurs dans un tableau Object[]

Java - Ajouter des valeurs dans un tableau Object []

Dans cet exemple, nous allons vous montrer comment ajouter des valeurs dans les tableauxObject[] etint[].

    Object[] obj = new Object[] { "a", "b", "c" };
    ArrayList newObj = new ArrayList(Arrays.asList(obj));
    newObj.add("new value");
    newObj.add("new value 2");


1. Exemple de tableau Object []

Exemple pour ajouter des valeurs avecArrayList:

TestApp.java

package com.example.test;

import java.util.ArrayList;
import java.util.Arrays;

public class TestApp {

  public static void main(String[] args) {
    TestApp test = new TestApp();
    test.process();
  }

  private void process() {

    Object[] obj = new Object[] { "a", "b", "c" };

    System.out.println("Before Object [] ");
    for (Object temp : obj) {
        System.out.println(temp);
    }

    System.out.println("\nAfter Object [] ");
    Object[] newObj = appendValue(obj, "new Value");
    for (Object temp : newObj) {
        System.out.println(temp);
    }

  }

  private Object[] appendValue(Object[] obj, Object newObj) {

    ArrayList temp = new ArrayList(Arrays.asList(obj));
    temp.add(newObj);
    return temp.toArray();

  }

}


Sortie

Before Object []
a
b
c

After Object []
a
b
c
new value

2. int [] Exemple de tableau

Pour ajouter des valeurs dans un tableau de type primitif -int[], vous devez savoir comment convertir entreint[] etInteger[]. Dans cet exemple, nous utilisons la classeArrayUtils, de la bibliothèque tierce commune Apache pour gérer la conversion.

TestApp2.java

package com.hostingcompass.test;

import java.util.ArrayList;
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;

public class TestApp2 {

  public static void main(String[] args) {
    TestApp2 test = new TestApp2();
    test.process();
  }

  private void process() {

    int[] obj = new int[] { 1, 2, 3 };
    System.out.println("Before int [] ");
    for (int temp : obj) {
        System.out.println(temp);
    }

    System.out.println("\nAfter Object [] ");

    int[] newObj = appendValue(obj, 99);
    for (int temp : newObj) {
        System.out.println(temp);
    }

  }

  private int[] appendValue(int[] obj, int newValue) {

    //convert int[] to Integer[]
    ArrayList newObj =
        new ArrayList(Arrays.asList(ArrayUtils.toObject(obj)));
    newObj.add(newValue);

    //convert Integer[] to int[]
    return ArrayUtils.toPrimitive(newObj.toArray(new Integer[]{}));

  }

}

Sortie

Before int []
1
2
3

After Object []
1
2
3
99

La conversion deint enInteger est un peu bizarre… Faites-moi savoir si vous avez une meilleure idée.

Références

Related