Как вставить мои данные в многомерный массив 2D?

System.out.println(list);//toString() is easy and good enough for debugging.

toString() из AbstractCollection будет достаточно простым и легким для этого. AbstractList является подклассом AbstractCollection, поэтому нет необходимости в цикле и нет toArray ().

Возвращает строковое представление этой коллекции. Строковое представление состоит из списка элементов коллекции в том порядке, в котором они возвращаются его итератором, заключенным в квадратные скобки («[]»). Смежные элементы разделяются символами «,» (запятая и пробел). Элементы преобразуются в строки, как и String.valueOf (Object).

Если вы используете какой-либо пользовательский объект в своем списке, скажем, Student, вам нужно переопределить его метод toString() (он всегда полезно переопределить этот метод), чтобы иметь значимый результат

См. приведенный ниже пример:

public class TestPrintElements {

    public static void main(String[] args) {

        //Element is String, Integer,or other primitive type
        List sList = new ArrayList();
        sList.add("string1");
        sList.add("string2");
        System.out.println(sList);

        //Element is custom type
        Student st1=new Student(15,"Tom");
        Student st2=new Student(16,"Kate");
        List stList=new ArrayList();
        stList.add(st1);
        stList.add(st2);
        System.out.println(stList);
   }
}


public  class Student{
    private int age;
    private String name;

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

    @Override
    public String toString(){
        return "student "+name+", age:" +age;
    }
}

вывод:

[string1, string2]
[student Tom age:15, student Kate age:16]
0
задан Blunderbuss 17 March 2019 в 22:35
поделиться

1 ответ

Я бы начал с создания класса одежды:

public class Clothing {

    private int sales, cost, price, benefits;

    public Clothing(int sales, int cost, int price, int benefits) {
        this.sales = sales;
        this.cost = cost;
        this.price = price;
        this.benefits = benefits;
    }

    public int getSales() {
        return sales;
    }

    public int getCost() {
        return cost;
    }

    public int getPrice() {
        return price;
    }

    public int getBenefits() {
        return benefits;
    }

}

Затем вы можете поместить все свои объекты одежды в массив (одномерный) и выполнить итерацию по нему, чтобы заполнить 2D-массив (используя геттер). методы в классе Clothing):

//Make a clothes array
Clothing[] clothes = new Clothing[4];
//Fill it
clothes[0] = new Clothing(3000, 50, 10, 36000); //Dress
clothes[1] = new Clothing(4500, 40, 13, 35600); //Pants
//etc...

//Make your 2D array
int[][] array = new int[clothes.length][4];

//Fill it
for(int i = 0; i < clothes.length; i++) {
    array[i][0] = clothes[i].getSales();
    array[i][1] = clothes[i].getCost();
    array[i][2] = clothes[i].getPrice();
    array[i][3] = clothes[i].getBenefits();
}
0
ответ дан Cardinal System 17 March 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: