Usuário adicionar itens em uma ArrayList

Estou aprendendo java, mais especificamente ArrayList onde criei essa lista e estou querendo saber como faço pro usuário digitar a quantidade de itens.
package testelista;
import java.util.ArrayList;
import java.util.Arrays;

package item;
import java.util.ArrayList;
import java.util.Arrays;    
/**
     *
     * @author Hebert Prata
     */
    public class Item {

        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
    ArrayList<String> Itens = new ArrayList<String> ();
    Itens.add("Lápis");
    Itens.add("Caneta");
    Itens.add("Bola");
    System.out.println("Itens:");
    System.out.println( Arrays.toString( Itens.toArray() ) );
    **System.out.println("Digite a quantidade de Lápis:");**
            
    Itens.remove("Lápis");
    System.out.println("Lápis removido! "+ "Itens:");
    System.out.println( Arrays.toString( Itens.toArray() ) );
    Itens.add("Faca");
    System.out.println("Faca adicionada! " + "Itens:");
    System.out.println( Arrays.toString( Itens.toArray() ) );
    Itens.add("Pneu");
    System.out.println("Pneu adicionado! " + "Itens:");
    System.out.println( Arrays.toString( Itens.toArray() ) );
    System.out.print( "Número de itens na lista: " );
    System.out.println( Itens.size() );
        }
        
    }

acho que a linha entre asteriscos explica o que quero fazer, e quero também que o programa exiba a quantidade de itens junto com o nome ex: lápis:10

por enquanto a saída tem sido essa

Itens:
[Lápis, Caneta, Bola]
Digite a quantidade de Lápis:
Lápis removido! Itens:
[Caneta, Bola]
Faca adicionada! Itens:
[Caneta, Bola, Faca]
Pneu adicionado! Itens:
[Caneta, Bola, Faca, Pneu]
Número de itens na lista: 4

Antes de responder:

  • Siga a convenção javaBeans para nomear classes, atributos e métodos.
    Esta variável devera se chamar itens

A lista não é o tipo de dado que você quer para associar elementos distintos (String e int, no caso).
Você pode fazer isso com Map ou pode criar uma classe como esta:

public class Item {
    String nome;
    int quantidade;
   //Getters e setters e outros métodos omitidos
}

E criar uma lista assim:

List<Item> itens = new ArrayList<Item>();
Item lapis = new Item();
lapis.setNome("lapis");
lapis.setQuantidade(1);
itens.add(lapis);

Aí funciona.

1 curtida

Resolveu meu problema mano. Muito Obrigado