Ранее был создан массив shoppingItems под названием ShoppingList. Каждый торговый элемент вводится пользователем и запрашивается имя, приоритет, цена и количество. Сейчас я пытаюсь сделать то же самое с arraylist, но у меня возникли проблемы.
Это было моим главным, когда у меня был массив
public static void main(String[] args) {
ShoppingList go = new ShoppingList();
go.getElement();
go.Sort();
System.out.println("hello");
go.displayResults();
}
и метод getElement был таким:
public void getElement(){
System.out.println("You can add seven items to purchase when prompted ");
shoppingList = new ShoppingItem[numItems]; //creation of new array object
for (int i = 0; i<= numItems - 1; i++) {
shoppingList[i] = new ShoppingItem(); //shopping item objects created
System.out.println("Enter data for the shopping item " + i);
shoppingList[i].readInput();
System.out.println();
}
}
Теперь с arraylist я просто потерян.
public static void main(String[] args) {
ArrayList<ShoppingItem>ShoppingList = new ArrayList<ShoppingItem>();
ShoppingList //how do i call the getElement which then calls readInput()?
}
Спасибо! Теперь я полностью понимаю это. Ранее я использовал сортировку пузырьков для сортировки элементов по приоритету:
public void Sort(){
boolean swapped = true;
int j = 0;
ShoppingItem tmp;
while (swapped) {
swapped = false;
j++;
for(int i = 0; i < shoppingList.length - j; i++) {
if (shoppingList[i].getItemPriority() > shoppingList[i+1].getItemPriority()) {
tmp = shoppingList[i];
shoppingList[i] = shoppingList[i+1];
shoppingList[i + 1] = tmp;
swapped = true;
}
}
}
}
Я все еще могу использовать этот метод, верно? Только некоторые вещи могут измениться, например ... длина будет .size ()? Или я не могу это сделать?