Java에서 콜렉션을 반환하는 가장 좋은 방법은 무엇입니까?java : 콜렉션을 반환합니다.
발신자가 추가 할 컬렉션을 제공해야합니까? 아니면 상품의 List<>
또는 Set<>
을 돌려 주시겠습니까? 아니면 둘다?
public class Item { ... }
public class SomeOtherClass
{
private List<Item> myItems;
public List<Item> getItems()
{
return Collections.unmodifiableList(this.myItems);
}
public void collectItems(Collection<? super Item> target)
{
target.addAll(myItems);
}
}
참고 : 위의 예는 즉시 반환 할 수있는 목록의 전 존재를 가정합니다. 그러한 목록이 이전에 존재하지 않았고 호출자가 getItems() 또는 collectItems()를 호출 할 때 생성 되어야만하는 경우에도 적절한 대답에 관심이 있습니다. (Mykola에서 제기 한 포인트를 기반으로 collectItems의 이름을 변경했습니다.)
+1은 Collections.unmodifiableList를 표시합니다. 내가 뭘 찾고 있었는지. – Adam