2011-07-23 7 views
0

ハンドルを作るのは簡単ですが、リストのサイズを取得したり、リストの最後のオブジェクトを取得するための有名なヘルパーヘルプがあるかどうかは疑問です。私はそれが本当に人気の要件だと思うが、私は1つを見つけることができませんでした。リストサイズと最終オブジェクトを取得するJavaの一般的なユーティリティ

size = list==null? 0: list.size(); 
lastObject = isEmpty(list)? null:list.get(list.size() - 1). 

おかげで、

答えて

2

この私の知る限りのためのヘルパーメソッドがありません。ヘルパーユーティリティを書くときは、ターゲットコレクションに特に注意を払う必要があります。 Listの場合は、get(index)を使用しないでください。リンクされたリストの実装ではそれほど効率的ではないためです。 ArrayListまたは一般にRandomAccessを実装するコレクションの場合、getは非常に効率的です。最も一般的な方法は、最後の要素のイテレーターを取得し、存在する場合はnext()を呼び出すことです。

public static <T> T getLast(final List<T> list) { 
    final ListIterator<T> listIterator = list.listIterator(list.size()); 
    return listIterator.hasPrevious() ? listIterator.previous() : null; 
} 
3

これらはすべて私に役立つとは思われません。私はリストがnullでないようにリストを初期化しようとするので、最初のものは役に立たない。 2番目の方法としては、リストのサイズを最初にチェックするよりもnullの可能性のあるオブジェクト(それがヌルであるかどうかを調べる必要があります)を返すことはもはや役に立ちません。

+2

+1:これはこれを行う方法です。 – home

0

Google GuavaはgetLast methodです。しかし、nullコレクションを扱うサイズメソッドを見つけることができませんでした。

関連する問題