자바 는 순서 표 의 첨삭 과 수정 기능 을 실현 한다.

5968 단어 Java순서 표첨삭
생 성 순서 표
자바 언어 에서 순서 표를 실현 하려 면 먼저 클래스 를 만 듭 니 다.순서 표 자체 가 배열 과 같 기 때문에 int 형식의 배열 과 usedata 를 효과 적 인 데이터 로 정의 합 니 다.구조 방법 에 서 는 10 개의 데 이 터 를 저장 할 수 있 는 공간 을 먼저 신청 합 니 다.

public class MyArraylist1 {
    public int[] elem;//         
    public int usedata;//       

    //    
    public MyArraylist1() {
        this.elem = new int[10];
    }
주로 다음 과 같은 방법 을 실현 한다.

public void add(int pos,int data)//    

 public int search(int tofind)//         

 public void remove(int toRemove)//           toRemove

 public void setPos(int pos,int value)//  pos         value

 public void display()//    
요소 삽입
요 소 를 삽입 하 는 것 은 요 소 를 추가 하 는 것 이다.그 전에 우 리 는 다음 과 같은 몇 가지 단 계 를 생각해 야 한다.
  • 순서 표 가 꽉 찼 는 지 판단 하기
  • pos 위치(요소 의 아래 표 시 를 삽입)가 합 법 적 인지 여부
  • 요 소 를 어떻게 삽입 합 니까?
  • 사 고 를 통 해 알 수 있 듯 이if(this.elem.length == this.usedata)순서 표 가 가득 차 서 Arrays.copy Of 함 수 를 통 해 확장 할 수 있 습 니 다.만약if (pos<0 || pos>this.usedata)설명 이 합 법 적 이지 않 으 면this.elem[i+1] = this.elem[i]을 통 해 모든 요소 가 뒤로 이동 하 는 방법 으로 요 소 를 삽입 할 수 있 습 니 다.
    
    //    
        public void add(int pos,int data) {
            //1.         
            if (this.elem.length == this.usedata) {
                System.out.println("  ,  ");
                this.elem = Arrays.copyOf(this.elem,this.elem.length*2);
            }
            //2,pos     
            if (pos<0 || pos>this.usedata) {
                System.out.println("   ");
                return;
            }
            //3,  
            for (int i = this.usedata-1; i>=pos  ; i--) {
                this.elem[i+1] = this.elem[i];
            }
            this.elem[pos] = data;
            usedata++;
        }
    원소 찾기
    첫 번 째 로 나타 난 요 소 를 찾 습 니 다.우 리 는 아래 표 시 를 되 돌려 search()로 이 루어 집 니 다.찾기 전에 순서 표 에 데이터 가 있 는 지 여 부 를 판단 합 니 다.없 으 면 수 동 으로 이상 알림 순서 표를 던 집 니 다.찾 고 싶 은 요 소 를 찾 지 못 하면 저 희 는 잠시-1 의 값 을 되 돌려 드 립 니 다.
    
    //          
        public int search(int tofind) {
            //1.         
            if (this.usedata == 0) {
                throw new RuntimeException("     ");
            }
            //2.  
            for (int i = 0; i < this.usedata ; i++) {
                if (this.usedata == tofind) {
                    return i;
                }
            }
            return -1;
    요소 삭제
    요 소 를 삭제 하기 전에 우 리 는 먼저 다음 과 같은 몇 가지 문 제 를 생각해 야 한다.
  • 삭제 요소 의 존재 여 부 를 어떻게 판단 합 니까
  • 어떻게 삭제
  • 만약 에 삭제 할 숫자 가 한 번 이상 나 왔 다
  • 사 고 를 통 해 우 리 는 방금 쓴 요 소 를 찾 는 방법 을 직접 호출 할 수 있 습 니 다.index 로 배열 의 아래 표 시 를 받 을 수 있 습 니 다.반환 값 이-1 이면 삭제 할 요소 가 존재 하지 않 음 을 설명 합 니 다.그렇지 않 으 면 index 는 요소 의 아래 표 시 를 삭제 하기 위해 index 를 시작 한 다음 요소 가 한 요소 앞으로 덮어 쓰기this.elem[i] = this.elem[i+1],마지막usedata--;
    
     //           toRemove
        public void remove(int toRemove) {
            //1.           
            int index = search(toRemove);
            if (index == -1) {
                System.out.println("         ");
                return;
            }
            //2.  
            //    i< this.usedsize-1,    ,   1,2,3   ,   0   ,i=0;i<2;i++,        。
            for (int i = index; i < this.usedata-1 ; i++) {
                this.elem[i] = this.elem[i+1];
            }
            usedata--;
        }
    요소 수정
    요 소 를 수정 하 는 것 은 앞의 요 소 를 찾 는 방식 과 비슷 하 다.그렇지 않 으 면 요 소 를 찾 는 방법 에서 우 리 는 하나의 매개 변수 만 썼 다.즉,첫 번 째 로 나타 난 요소 가 돌아 오 는 아래 표 시 를 찾 을 수 밖 에 없다 는 것 이다.요 소 를 수정 할 때 우 리 는 두 개의 매개 변수 pos 위치 와 value 값 을 제공 하고 실현 할 때 pos 의 유효성 을 고려 해 야 한다.만약if (pos<0 || pos>=this.usedata)설명 이 합 법 적 이지 않다 면.
    
    //   pos         value
        public void setPos(int pos, int value) {
            //1.         
            if (this.usedata == 0) {
                throw new RuntimeException("     ");
            }
            //2.  pos     
            if (pos<0 || pos>=this.usedata) {
                return;
            }
            //3.    value
            this.elem[pos] =value;
        }
    인쇄 요소
    
    //    
        public void display() {
            for (int i = 0; i <this.usedata ; i++) {
                System.out.print(this.elem[i]+" ");
            }
            System.out.println();
        }
    마지막 실현 은 main 방법 에서 이 루어 집 니 다.
    
    public class TestList1 {
        public static void main(String[] args) {
            MyArraylist1 myArraylist1 = new MyArraylist1();
            myArraylist1.add(0,1);
            myArraylist1.add(0,2);
            myArraylist1.add(0,3);
            myArraylist1.add(0,4);
            myArraylist1.add(0,5);
            System.out.println("========================  ===========================");
            myArraylist1.display();
            System.out.println("       :"+myArraylist1.search(1));
            System.out.println("       :"+myArraylist1.search(3));
            System.out.println("       :"+myArraylist1.search(5));
            System.out.println("========================  ===========================");
            myArraylist1.remove(1);
            myArraylist1.remove(5);
            myArraylist1.display();
            System.out.println("========================  ===========================");
            myArraylist1.setPos(0,2);
            myArraylist1.setPos(2,4);
            myArraylist1.display();
        }
    }
    결과 인쇄
    在这里插入图片描述
    자바 실현 순서 표 의 첨삭 과 수정 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 실현 첨삭 과 수정 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기