의 카드를 가지고있는 및 CardType2
은 Card
이고, 길이는 Area
입니다. 이 배열은 CardType1
및 CardType2
개체 가득합니다,하지만 난 결국처럼 접근 할 필요가 :다양한 유형의 객체가 포함 된 Java ArrayList
for (CardType1 card : this.cards) { ...
개요 : 나는 하위 유형의 하나에서 반복 수있는 방법
public class Area {
List<Card> cards = new ArrayList<Card>();
..
}
public class Card {..}
public class CardType1 extends Card {..}
public class CardType2 extends Card {..}
내 List<Card> cards
목록에 있습니까?
지금까지 좋은 점은 무엇입니까? – Vlad
어디서 그런 접근이 필요합니까? 이기종 목록을 갖고 있지 않은 것보다 이기종 목록을 갖는 것이 이치에 맞지 않는 경우. –
상자 밖에서 약간 생각한 것처럼, 당신은 추가적으로 피벗 엘리먼트를 저장하는 방식으로 arraylist를 파티션 할 수 있고, CardType1 타입의 엘리먼트와 그 이후의 모든 것을 CardType2의 모든 엘리먼트로 유지할 수 있습니다. 이렇게하면 각 삽입에 arraylist를 정렬하고 업데이트해야하지만 작업이 필요하지는 않지만 요소를 반복하는 시간을 절약 할 수 있습니다. –