설명하기가 조금 어렵습니다. 이 예제 코드 :상위 - 하위 관계를 기반으로 항목 내에 중첩 된 (계층 구조) 모든 항목의 목록을 가져 오는 방법은 무엇입니까?
public class SomeClass
{
private String id;
private String parent;
public SomeClass(String id, String parent)
{
this.id = id;
this.parent = parent;
}
public String getParent()
{
return parent;
}
}
List<SomeClass> someList = new ArrayList();
someList.add(new SomeClass("Test1", "none"));
someList.add(new SomeClass("Test2", "none"));
someList.add(new SomeClass("Test1Mem1", "Test1"));
someList.add(new SomeClass("Test2Mem1", "Test2"));
someList.add(new SomeClass("Test1Mem1Obj1", "Test1Mem1"));
나는 그것이 "부모"필드 계층의에서 개체를 포함하는 모든 개체를 가져옵니다 기능을 만들려고합니다. 예를 들어 "Test1Mem1Obj1"을 찾으면 "{Test1Mem1, Test1}"값을 제공해야하며 "Test2Mem1"을 찾으면 "{Test2}"값을 제공해야합니다. 기본적으로 부모의 부모의 부모를 가져 오는 등의 작업을 수행합니다. 언어 장벽으로 인해이 설명에 불편을 끼쳐 드려 죄송합니다. 누군가가 나를 도와 줄 수 있기를 바랍니다. 고맙습니다!
일시적인 더러운 솔루션이 있는데 왜 좋지 않은지 알 수 있습니다. 당신이 할 수있는 경우
if(someObj.getParent() != null)
{
result.add(someObj.getParent());
if(someObj.getParent().getParent() != null)
{
result.add(someObj.getParent().getParent());
if(someObj.getParent().getParent().getParent() != null)
{
result.add(someObj.getParent().getParent().getParent());
}
}
}
List가 사용되는 것은 필수입니까? 트리 구조가 여기서 더 잘 작동 할 수 있다고 생각합니다. –
또한 나는 MySQL 데이터베이스에서 목록을로드한다는 것을 언급해야한다. 그래서 그것은 어떤 순서도없고 구현에 대한 제한이 없으며 Tree 구조를 사용할 수 없습니다. – TheAwesomeGem
고유 한 ID가 있습니까? 대신지도를 사용할 수 있습니까? – Crummy