Java語言程式設計與資料結構
阿新 • • 發佈:2020-10-11
- 交換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); } } }