[java] 컬렉션을 목록으로 변환하는 방법은 무엇입니까?


3 Answers

이런 식으로 Collection을 사용하는 ArrayList 생성자 를 호출하면됩니다.

List theList = new ArrayList(coll);
Question

나는 Apache Collections 라이브러리에서 TreeBidiMap 을 사용하고있다. 이 값을 doubles 값으로 정렬하고 싶습니다.

내 방법은 다음을 사용하여 값의 Collection 을 검색하는 것입니다.

Collection coll = themap.values();

자연스럽게 잘 작동합니다.

주요 질문 : 이제 정렬 할 수 있도록 collList 으로 변환 / 변환 (올바른지 확실하지 않음)하는 방법을 알고 싶습니다.

그런 다음 정렬 된 List 객체를 반복하고, themap.getKey(iterator.next()) 보다 위에있는 themap.getKey(iterator.next()) 사용하여 themap.getKey(iterator.next()) themap )에서 적절한 키를 가져옵니다.




한 줄짜리 차선책으로서 차선책입니다.

Collections.list(Collections.enumeration(coll));



Collections.sort( new ArrayList( coll ) );



@Kunigami : 나는 당신이 구아바의 newArrayList 방법에 대해 오해를받을 수 있습니다 같아요. Iterable이 List 유형인지 여부를 확인하지 않고 주어진 List를있는 그대로 반환합니다. 항상 새로운 목록을 만듭니다.

@GwtCompatible(serializable = true)
public static <E> ArrayList<E> newArrayList(Iterable<? extends E> elements) {
  checkNotNull(elements); // for GWT
  // Let ArrayList's sizing logic work, if possible
  return (elements instanceof Collection)
      ? new ArrayList<E>(Collections2.cast(elements))
      : newArrayList(elements.iterator());
}


Related