자바 는 순서 표 의 첨삭 과 수정 기능 을 실현 한다.
자바 언어 에서 순서 표를 실현 하려 면 먼저 클래스 를 만 듭 니 다.순서 표 자체 가 배열 과 같 기 때문에 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()//
요소 삽입요 소 를 삽입 하 는 것 은 요 소 를 추가 하 는 것 이다.그 전에 우 리 는 다음 과 같은 몇 가지 단 계 를 생각해 야 한다.
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;
요소 삭제요 소 를 삭제 하기 전에 우 리 는 먼저 다음 과 같은 몇 가지 문 제 를 생각해 야 한다.
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();
}
}
결과 인쇄자바 실현 순서 표 의 첨삭 과 수정 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 실현 첨삭 과 수정 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.