Массив

771
5
Есть массив, например:
String[] mainArray = new String[]{"test", "prosto", "i tak dalee"};
И есть второй массив, который имеет такой же элемент, что и первый("prosto").
Нужно написать метод, который бы возвращал новый массив, но уже без элементов из второго массива(он находится в аргументах метода).
Вот так это примерно выглядит:
Пишу arrayWithout("prosto") и он мне возвращает новый массив, но уже без элемента "prosto".
То есть String[] newArray = new String[]{"test", "i tak dalee"};
Как это сделать?
 
Код:
public String[] removeArray(String[] mainArray, String[] arrayToRemove) {
    ArrayList<String> main = new ArrayList<String>(Arrays.asArray(mainArray));
    ArrayList<String> toRemove = new ArrayList<String>(Arrays.asArray(arrayToRemove));
    main.removeAll(toRemove);
    return main.toArray(new String[main.size()]);
}
 
Решил по другому, но мне кажется, что твой вариант лучше =)

Код:
public static String[] stringWithout(String... stringWithout){
        ArrayList<String> strings = Lists.newArrayList();
        for(String string : мой_массив){
            if(string != null){
                strings.add(biome);
            }
        }
        for(String string : stringWithout){
            strings.remove(string );
        }
        return strings.toArray(new String[strings.size()]);
    }
P.S А если в mainArray есть null элементы?
 
Код:
public ArrayList clearNullElements(ArrayList list) {
    ArrayList clearList = new ArrayList();
    for (Object o : list)
      if (o == null)
        clearList.add(o);
    list.removeAll(clearList);
    return list;
}
 
Вообщем, решил не маяться с этой фигней и написал так:

Код:
public static String[] stringWithout(String... stringWithout){
        ArrayList<String> strings = Lists.newArrayList();
        for(String string : мой_массив){
            if(string != null){
                strings.add(biome);
            }
        }
        strings.removeAll(Arrays.asList(stringWithout));
        return strings.toArray(new String[strings.size()]);
    }
 
Ты до сих пор паришься с тем методом, который возвращал бы тебе все биомы кроме того что в аргах?
 
Dragon2488 написал(а):
Ты до сих пор паришься с тем методом, который возвращал бы тебе все биомы кроме того что в аргах?
Эм, я его уже как бы давным-давно сделал, но оказалось, что если в аргументы ничего не передавать, то он странно себя ведет.
 
Назад
Сверху