How to add coins in ascending order in arraylist

Hey guys I am having a prob adding coins in an ascending order in an arraylist. There are three classes: coins that declare the value and the name of the coins; the purse class that implements the methods and a tester.

Here is the method where I have a problem:

public void add(Coin aCoin) {

Coin temp;

Coin current;

coins.add(aCoin);

for (int i = 0; i < coins.size(); i++) {

current = (Coin) coins.get(i);

if (current.getValue() > aCoin.getValue()) {

coins.set(i, aCoin);

for (int j = i + 1; j < (coins.size()) - 1; j++) {

temp = (Coin) coins.get(j);

coins.set(j, current);

}

}

}

}