メソッドを使用してArrayList
このように反転する非常に便利なCollections.reverse()
方法があることを確認しましたが、少なくともカスタム オブジェクトのような、いくつかのタイプのプリミティブ オブジェクトに対してそのような反転操作を実行する必要がArrayList
あります。List
したがってCollections
、単一のメソッドを拡張して使用するために私の命を救うことはできません。
これまでのところ、なんとか stg を機能させることができました (以下のコードを参照) が、2 回記述する必要があります。両方に同じ名前を付けたので、使い方は非常に便利ですが、いくつかの..最適化はさらに便利です:-)。
これらの 2 つのメソッドを単一の (実際の) 一般的なメソッドに共通化するにはどうすればよいですか?
どうも
/**
* Generic Reverse Method for ARRAYLIST using Iterator
* @param ArrayList<Obj_item> notReversed
* @return ArrayList<Obj_item> reversed
*/
@SuppressWarnings("unchecked")
public static <Obj_item> ArrayList<Obj_item> GenReverseArrayByIterator(ArrayList<Obj_item> mylist) {
// ^^^^^^^^^^^^^^^^^^ how to make this generic ?
// Instanciate
ArrayList<Obj_item> tmp = new ArrayList<Obj_item>();
ArrayList<Obj_item> reversed = new ArrayList<Obj_item>();
// Copy original list
tmp = mylist;
// Generate an iterator, starting right after the last element.
@SuppressWarnings("rawtypes")
ListIterator myIterator = tmp.listIterator(tmp.size());
// Iterate in reverse direction
while (myIterator .hasPrevious()) {
reversed.add((Obj_item) myIterator.previous());
}
return reversed;
}