1. 程式人生 > 實用技巧 >Java語言程式設計與資料結構

Java語言程式設計與資料結構

  • 交換ArrayList中兩個位置的元素
public static <T> void swap(List<T> list, int oldPosition, int newPosition){
    if(null == list){
        throw new IllegalStateException("The list can not be empty...");
    }
    T tempElement = list.get(oldPosition);

    if(oldPosition < newPosition){
        
for(int i = oldPosition; i < newPosition; i++){ list.set(i, list.get(i + 1)); } list.set(newPosition, tempElement); } if(oldPosition > newPosition){ for(int i = oldPosition; i > newPosition; i--){ list.set(i, list.get(i - 1)); } list.set(newPosition, tempElement); } }
public static <T> void swap(List<T> list, int oldPosition, int newPosition){
    if(null == list){
        throw new IllegalStateException("The list can not be empty...");
    }

    if(oldPosition < newPosition){
        for(int i = oldPosition; i < newPosition; i++){
            Collections.swap(list, i, i 
+ 1); } } if(oldPosition > newPosition){ for(int i = oldPosition; i > newPosition; i--){ Collections.swap(list, i, i - 1); } } }