수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

removeRange() 메서드는 어떻게 사용할 수 있나요?

VE

2023.04.01



arraylist 내에 보면 removerange메써드 있습니다. 허나 문제는 이 메써드가 protected 된 상태라서
외부클래스에서 접근이 불가능 합니다.

해서 이를 사용하고 자 한다면... 어떻게 해야 할까요? 이너 클래스를 이용해야 하나요?

public class removerange extends arraylist {

protected void removerange(int a, int b){
super.removerange(a, b); 여기서 에러가 발생합니다.
}

public void test(){

arraylist r = new arraylist();
r.add(100);
r.add(200);
r.add(300);
r.add(400);
r.add(500);

for(int i=0; ir.size();i++){
system.out.println(r.get(i));
}
removerange(1,3); 여기서 호출시...

for(int i=0; ir.size();i++){
system.out.println(r.get(i));
}

}

public static void main(string[] args) {
removerange rr = new removerange();
rr.test();
}

}


저상태로 돌리면 arrayindexoutofboundsexception 가 발생합니다.

상위로 돌려줄때 해당 오브젝트를 같이 보내야 할꺼 같은뎅...ㅡㅠ
저러식이 아닌 메인 클래스 내에서 돌리면 아무런 문제가 없이 사용가능합니다.
즉, 메인에서는 removerange메써드를 오버라이딩 필요없이 바로 사용이 가능하나,
저러식으로 할때는 removerange()메써드 자체가 보이지 않습니다.ㅡ.ㅡ

어떻게 해야 할까요? 이너클래스 사용하려고 해도 비슷한거 같은데...
아시는분 답변좀 부탁드립니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 초코홀릭

    그리고 혹시

    protected void removeRange(int a, int b)

    이 함수를 다른 class에서 사용을 하실려고 하신거라면

    protected void removeRange(ArrrayList targetArrayList, int a, int b)
    {
    targetArrayList.removeRange(a, b);
    }

    라고 하시면 될 듯 합니다..

    근데.. ArrayList를 왜 상속 받으셨는지 모르겠네요..

  • 남자

    음.. 우선 해당 에러가 발생하는 이유는 님이 하실려는 의도와 코딩이 다르기 때문인것 같습니다.

    super.removeRange(a, b);

    이 부분에서 super라고 하시면 extends로 상속받은 ArrayLsit의 엘리먼트를 삭제하는 건데.. 상속 받으신 ArrayList에 엘리먼트가 있는지 먼저 확인을 해보셔야 할거 같습니다.
    확인 방법은 super.size()로 크기를 알 수 있을 것 같습니다.

    그리고 만약 r의 엘리먼트를 삭제 하실려고

번호 제 목 글쓴이 날짜
2697459 이런 질문도 답변해주실지는 모르겠습니다만 병특에 관한 질문입니다. 승아 2025-06-08
2697422 가운데 정렬하는 방법좀 흑흑흑... (3) 목련 2025-06-07
2697395 홈페이지 기본구조에 대해서... (6) 모든 2025-06-07
2697366 에..조금 짜보고 다시 질문입니다. (2) 나샘 2025-06-07
2697333 li 가운데 정렬.....도와 주세용... (7) 초고리 2025-06-07
2697284 이미지를 흐리게 (2) 난새 2025-06-06
2697258 VC++ 6.0(studio)을 깔면서 재미가 붙었는데..ㅠㅠ (4) 앵겨쪼 2025-06-06
2697228 WorkFlow가 궁금합니다.. 다들 어떻게 하시는지.. (1) 애기 2025-06-06
2697174 button 태그와 input 태그의 type 속성을 사용한거와 차이 (1) 여름 2025-06-05
2697149 익스플로러에서 이미지로딩이 느려지는건지..깨져서 나옵니다. (4) 든솔 2025-06-05
2697122 호환성질문 (5) 미즈 2025-06-05
2697066 웹에서 다른이름으로 저장 할때 파일 이름 저장하는 방법은? 코이 2025-06-04
2697043 position:absolute; 로 하면 사라져 버리는 이유 ㅠㅠ (3) 풍란 2025-06-04
2697016 테이블 thead tbody 질문 아란 2025-06-04
2696989 contact us 페이지는 dl로 작성하는게 좋을까요? (4) 파라 2025-06-03
2696964 img 태그 질문드려요 (9) 연블루 2025-06-03
2696907 [질문] 올플래시 메뉴 고정할수 있는[수정] (4) 맨삶이 2025-06-03
2696875 책구입 후 따라하다가 ShortCode Ultimate 오류 가지등 2025-06-02
2696844 css 마우스 오버시 display:block되는 영역 질문드립니다 ㅠㅠ (2) 갅쥐누뉨 2025-06-02
2696816 엉엉엉...영상이 올라타네요 (5) 다은 2025-06-02
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com