Заполнение ArrayList строкой и целым будет невозможно, если вы не используете вложенный массив или карту ArraysList. Но вы можете создать простой класс для ProductName и Price и создать ArraysList, который содержит имя и цену.
public class Products {
private String product;
private int price;
public Products(String product, int price){
this.product = product;
this.price = price;
}
public String getProduct(){
return this.product;
}
public int getPrice(){
return this.price;
}
@Override
public String toString(){
return this.product +" "+ this.price;
}
public static void main(String[] args) throws ParseException {
ArrayList<Products> list = new ArrayList<>();
list.add(new Products("Hat",45));
list.add(new Products("Socks",10));
for (Products gd: list){
if (gd.getProduct().equals("Hat")){
int index = list.indexOf(gd);
list.set(index,new Products(gd.getProduct(),gd.getPrice+10));
}else {
// if productName not found
System.out.println("sorry products not available");
break;
}
}
System.out.println(list);
}
}
выход:
[Hat 55, Носки 10]
Но если вы не хотите, чтобы все этот класс и хотите еще использовать ArrayList для работы, вы можете сделать это с помощью ArrayList, содержащего как имя, так и цену
ArrayList<String> list = new ArrayList<>();
list.add("Hat,45");
list.add("Socks,15");
for (String ss:list){
String[] spl = ss.split(",");
if (spl[0].equals("Hat")){
int index = list.indexOf(ss);
int value = Integer.parseInt(spl[1]) +10;
list.set(index,(spl[0]+","+value));
}
}
System.out.println(list);
выход:
[Hat, 55, носки, 15]
Это неясно. Вы говорите, что есть объект вашего собственного пользовательского класса (назовите его 'Item'), который содержит имя (« шляпы ») и значение (45)? Если да, покажите объявление этого класса. Если вы планируете сохранить имя в первом элементе arraylist и значение во втором элементе (например, 'list.add (« hats »); list.add (45);'), то вы не поняли массив списки, потому что это не сработает. –
Или это ArrayList из ints ?, а 'hats' - это индекс? –
@JimGarrison Да У меня есть целый пользовательский класс Store ... так что в главном меню, когда мой пользователь вводит элемент (который я получаю из класса enum) ... объект store будет помещен в массивList (другой класс), чтобы выполнить все проверки метода! –