«collections» 태그된 질문

6
Java 8에 불변의 컬렉션이없는 이유는 무엇입니까?
Java 팀은 ​​Java 8의 기능적 프로그래밍에 대한 장벽을 제거하면서 엄청난 노력을 기울였습니다. 특히, java.util Collections의 변경은 변환을 매우 빠른 스트리밍 작업으로 체인화하는 데 큰 도움이됩니다. 컬렉션에 퍼스트 클래스 함수와 함수 메소드를 추가하는 일이 얼마나 좋은지 고려할 때 왜 불변 컬렉션이나 불변 컬렉션 인터페이스를 제공하지 못한 것일까 요? 기존 코드를 변경하지 …

9
동시성이 없을 때 불변성이 매우 가치가 있습니까?
스레드 안전성은 항상 불변 유형 및 특히 컬렉션을 사용하는 주요 이점으로 항상 언급되는 것처럼 보입니다. 메서드가 문자열 사전 (C #에서는 변경할 수 없음)을 수정하지 않도록하려는 상황이 있습니다. 가능한 한 많이 제한하고 싶습니다. 그러나 새 패키지 (Microsoft Immutable Collections)에 종속성을 추가하는 것이 가치가 있는지 확실하지 않습니다. 성능도 큰 문제가 아닙니다. 따라서 …

6
의미있는 클래스 이름으로 Java 콜렉션을 마스킹하는 좋은 방법 또는 나쁜 방법?
최근에 저는 인간 친화적 인 클래스 이름으로 Java 콜렉션을 "마스킹"하는 습관을 겪었습니다. 몇 가지 간단한 예 : // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } 또는: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, would you …

8
java.util.ArrayList가 왜 널을 추가 할 수 있습니까?
왜 java.util.ArrayList추가 할 수 있는지 궁금 합니다 null. 에 추가하고 싶은 경우 null가 ArrayList있습니까? 프로젝트에서 일부 코드가 추가 되는 버그가 있었고 버그가있는 곳을 찾기가 어려웠 기 때문에이 질문 null을하고 ArrayList있습니다. 분명히 NullPointerException다른 코드가 요소에 액세스하려고 시도 할 때까지는 발생하지 않았습니다. 문제는 null객체 를 추가 한 코드를 찾는 방법이었습니다 . ArrayList요소가 …

9
내 메소드에서 빈 콜렉션을 반복해야합니까?
메서드의 매개 변수를 반복하는 foreach 루프 내에서 모든 논리를 수행하는 방법이 있습니다. public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } 이 경우 빈 컬렉션을 보내면 빈 컬렉션이 생성되지만 이것이 현명하지 않은지 궁금합니다. 내 논리는 누군가 누군가 가이 메소드를 호출하면 …

6
mp3 컬렉션을 정렬하기 위해 "ultimate shuffle"알고리즘을 작성하고 싶습니다
제목과 아티스트의 반복을 피하는 방식으로 mp3 파일 을 정렬 하기위한 의사 코드 제안을 찾고 있습니다. 나는 프랭크 시나트라 (Frank Sinatra), 토니 베넷 (Tony Bennett), 엘라 피츠 제럴드 (Ella Fitzgerald) 등 오래된 기준을 부르는 크루 너를 듣는다. 각 아티스트는 같은 노래를 많이 녹음합니다. Fly Me To The Moon, The To You …

2
자바 : 왜 컬렉션이 Comparator를 받아들이지 만 (가설적인) Hasher와 Equator는받지 않습니까?
이 문제는 인터페이스를 다르게 구현 한 경우에 가장 분명하며 특정 컬렉션의 목적 상 개체의 인터페이스 수준보기에만 관심이 있습니다. 예를 들어, 다음과 같은 인터페이스가 있다고 가정하십시오. public interface Person { int getId(); } 클래스 를 구현 hashcode()하고 구현하는 일반적인 방법 equals()은 equals메소드 에서 다음과 같은 코드를 갖습니다 . if (getClass() != …
25 java  collections 

1
.Net의 배열에 길이가 있지만 다른 컬렉션 유형에 개수가있는 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 예를 들어 C #에서 배열에는 길이 속성이 있습니다. 그러나 목록 등과 같은 다른 컬렉션 유형에는 Count 속성이 …


4
PUT 또는 DELETE로 컬렉션을 부분적으로 변경해도 괜찮습니까?
제품 그룹에 제품 모음이 있습니다. 예 : product-groups/123/products 컬렉션 에 추가 해야하는 경우 PUT이있는 일부 제품 만 전달해도 괜찮 습니까? 컬렉션에서 일부 제품 을 삭제해야하는 경우 DELETE를 사용하여 필터 데이터 (ID 배열)를 전달해도 괜찮 습니까? ReST의 정신으로 기능을 구현하는 가장 좋은 방법은 무엇입니까? 편집 : 항목은 기본적으로 제품의 ID 인 …
21 rest  collections 

5
객체를 셔플하는 효율적인 방법
일부 퀴즈 소프트웨어 용 프로그램을 작성 중입니다. 질문, 답변, 옵션, 표시 및 음수에 대한 ArrayList를 포함하는 질문 클래스가 있습니다. 이 같은: class question { private ArrayList<Integer> index_list; private ArrayList<String> question_list; private ArrayList<String> answer_list; private ArrayList<String> opt1_list; private ArrayList<String> opt2_list; } 모든 질문을 섞고 싶지만 질문을 섞으려면 모든 개체를 섞어 야합니다. …
20 java  collections 

3
일반적으로 컬렉션을 반환 할 때마다 스트림을 반환하는 것이 제정신입니까?
레거시 코드와 관련이없는 API를 개발하는 동안 종종 결과를 수집하여 Streams 파이프 라인으로 끝나는 메소드를 작성하는 경우가 종종 있습니다. 이 같은: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } 이제이 클래스의 대부분의 클라이언트는 일반적으로 요소를 검색하고 반복하기 위해 Collection (이 경우 ImmutableSet)이 필요하지만 일부 클라이언트는 Stream을 사용하여 더 많은 …

3
테스트에서 로직을 피하면서 컬렉션을 반환하는 테스트 방법을 통합하는 방법
데이터 객체 컬렉션을 생성하는 방법을 테스트하고 있습니다. 객체의 속성이 올바르게 설정되어 있는지 확인하고 싶습니다. 일부 속성은 동일한 것으로 설정됩니다. 나머지는 컬렉션에서의 위치에 따라 다른 값으로 설정됩니다. 이 작업을 수행하는 자연스러운 방법은 반복되는 것 같습니다. 그러나 Roy Osherove는 단위 테스트에서 로직 사용을 강력히 권장합니다 ( Art of Unit Testing , 178). …

5
C ++보다 빠른 Java 힙 할당
나는 이미이 질문 을 SO에 게시 했으며 괜찮 았습니다. 불행히도 닫히지 않았지만 (다시 열려면 한 번의 투표 만 필요합니다) 누군가가 여기에 더 잘 맞기 때문에 여기에 게시하도록 제안 했으므로 다음은 말 그대로 질문의 사본입니다. 나는이 답변 에 대한 의견을 읽고 있었고이 인용문을 보았습니다. 객체 인스턴스화 및 객체 지향 기능은 처음부터 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.