2014-09-17 1 views
1

이 차이 란 변환 (...)구아바 -. Lists.transform (..., ...)과 FluentIterable.from (...) 사이의 차이, 어떤 경우

Lists.transform(list, function) 

FluentIterable.from(list).transform(function).toList() 

?

+2

javadoc의 내용은 무엇입니까? –

+0

Iterables.list()의 javadoc은 요소가 포함 된 목록을 반환한다고 명시합니다. 보기인지 아닌지는 명시하지 않습니다. 그렇지? 그렇지 않다면 유일한 차이점입니까? –

답변

5

Lists.transform 원래 List보기List을 반환합니다. 원래 목록에 항목을 추가하거나 제거하면보기도 변경됩니다.

FluentIterable.from(list).transformList이 아닌 FluentIterable으로 원래 목록의 변형 된보기를 반환합니다. toList()을 호출하면 ImmutableList이 표시되며 원래 목록이 변경되면 이 아닌이 변경됩니다 (해당되는 경우).

+0

고마워, 그게 내가 알고 싶었던 것이다. 다른 주석에서 언급했듯이 Iterables.list()는 뷰인지 아닌지에 대해 아무 것도 진술하지 않습니다. –

+2

@TereaJato :'Iterables.list()'란 무엇입니까? 'FluentIterable.toList()'를 의미한다면, "이것은보기를 반환하지 않습니다"라고 명시 적으로 말하지는 않지만, 일반적으로 어떤 메소드가보기를 반환하면 그 사실을 나타낼 것입니다. 또한,'ImmutableList'는 결코 변경 될 수있는 어떤 것의 뷰가 될 수 없다. – ColinD

+0

지우기! 고맙습니다. –