2014-02-26 4 views

답변

1

두 가지 모두 가능합니다. 당신이 LinkedHashSet<LinkedHashSet<?>> 같은 다른 LinkedHashSet 당신은 아마 잃어버린하는 형식 정보에 LinkedHashSet의 팩을하면

한 곳에서 LinkedHashSet의 모든 종류를 수집 할 수있는 유일한 방법입니다. 평소와 같이 HashMap을 살펴볼 수도 있습니다. 특정 시점에 액세스하려고 시도 할 때 LinkedHashSet; 지도를 사용하면 공통 클래스 또는 인터페이스에서 상수 조회 키를 쉽게 정의 할 수 있습니다.

클래스간에 항상 동일한 LinkedHashSet이 전달되는 경우 매개 변수 또는 매개 변수 개체가 형식 정보를 제공하므로 더 나은 솔루션이 될 수 있습니다. 매개 변수 객체의 클래스는 다음과 같을 수 있습니다.

public class Parameters { 
    private LinkedHashSet<String> namesSet = null; 
    private LinkedHashSet<Locale> localesSet = null; 

    public Parameters(LinkedHashSet<String> namesSet, LinkedHashSet<Locale> localesSet) { 
     this.namesSet = namesSet; 
     this.localesSet = localesSet; 
    } 

    public Parameters() { 
    } 

    public LinkedHashSet<String> getNamesSet() { 
     return namesSet; 
    } 

    public void setNamesSet(LinkedHashSet<String> namesSet) { 
     this.namesSet = namesSet; 
    } 

    public LinkedHashSet<Locale> getLocalesSet() { 
     return localesSet; 
    } 

    public void setLocalesSet(LinkedHashSet<Locale> localesSet) { 
     this.localesSet = localesSet; 
    } 
} 

매개 변수 객체의 장점은 메소드 서명을 짧게 유지하고 전달할 수 있다는 것입니다. 이러한 스레드를 동시 스레드로 변경하는 경우 조심하십시오.

+1

필자는 Parameters 클래스 솔루션을 사용했습니다. :) –

1

예. 예 :

LinkedHashSet<LinkedHashSet<String>> 
+0

하지만 모두가 아닙니다. LinkedHashSet - 일부는 LinkedHashSet입니다. 다른 것은 LinkedHashSet 등입니다. –

+0

Object 또는 다른 클래스가 공통의 수퍼 클래스 또는 인터페이스를 사용하면 항상 사용할 수 있습니다. – JustinKSU

관련 문제