자바 의 배열 대기 열
5682 단어 자바
배열 대기 열 은 간단 한 증가,삭제,검사,기능 을 찾 을 수 있 습 니 다.물론 JKD 에 도 방법 이 있 습 니 다.다음 글 에 제 가 다시 쓴 소스 코드 를 첨부 하 겠 습 니 다.
1.배열 대기 열의 실현 절차
1.인 터 페 이 스 를 정의 하고 인터페이스 에서 추상 적 인 방법 을 정의 한다.
2.클래스 를 정의 하고 인터페이스 에 있 는 방법 을 실현 하 며 초기 배열 과 배열 의 길 이 를 정의 합 니 다.
3.원소 추가
1.배열 을 새로 만 듭 니 다.길 이 는 원래 길이+1 입 니 다.
2.새 배열 에 원래 배열 의 내용 을 순환 적 으로 할당 합 니 다.
3.추 가 된 요 소 를 새 배열 의 끝 에 추가 합 니 다.
4.새 배열 의 주 소 를 원래 배열 에 할당 합 니 다.
4.원소 삭제
1.배열 을 새로 만 듭 니 다.길 이 는 원래 길이-1 입 니 다.
2.새 배열 에 원래 배열 의 내용 을 순환 적 으로 할당 합 니 다.
3.새 배열 의 주 소 를 원래 배열 에 할당 합 니 다.
5.배열 의 길이 가 져 오기
1.요 소 를 추가 할 때 배열 길이+,
2.요 소 를 삭제 할 때 배열 길이--,
3.한 가지 방법 으로 배열 의 길 이 를 되 돌려 줍 니 다.
6.배열 찾기
1.월 계 여부
2.배열 아래 표 로 찾기
실제 프로 그래 밍 을 할 때 서로 다른 내용 에 대해 우 리 는 서로 다른 유형의 매개 변수 와 변 수 를 필요 로 하지만 서로 다른 변수 가 우리 가 또 하나의 방법 을 다시 쓰 면 너무 번 거 로 울 수 있 기 때문에 우 리 는 범 형 으로 이 문 제 를 해결한다.
범 형
1.범용:기호 E
2.임의의 데이터 형식 일 수 있 습 니 다.일반적으로 우 리 는 대상 을 예화 할 때 사용 합 니 다.
클래스<실제 사용 유형> 대상 이름=new 클래스<실제 사용 하 는 유형>();
일반적인 대상 을 정의 하 는 방법 입 니 다.
다음은 제 가 자바 에 있 는 JDK 의 배열 대기 열 중 일 부 를 찾 는 방법 입 니 다.
import java.util.Collection;
public class ArrayImp<E> implements ArrayInter<E>{
public Object []array = new Object[0];
public int size = 0;
//
public boolean add(E e) {
// TODO Auto-generated method stub
Object []arraynew = new Object[array.length+1];
for(int i=0;i<array.length;i++){
arraynew[i] = array[i];
}
arraynew[array.length] = e;
size++;
array = arraynew;
return false;
}
//
public void add(int index, E element) {
// TODO Auto-generated method stub
Object []arraynew = new Object[array.length+1];
for(int i=index;i<array.length+1;i++){
arraynew[i] = array[i-1];
}
for(int j=0;j<index;j++){
arraynew[j]=array[j];
}
size++;
arraynew[index-1] = element;
array = arraynew;
}
// collection
public void addAll(ArrayInter<E> c) {
int s = c.size();
size = s+size;
Object []ar = new Object[size];
for(int i=s,j=0;j<s;i++,j++){
ar[i] = c.get(j);
}
for(int j=0;j<s;j++){
ar[j]=array[j];
}
array = ar;
}
//
public void clear() {
// TODO Auto-generated method stub
array = new ArrayImp[0];
size=0;
}
//
public E get(int index) {
// TODO Auto-generated method stub
if(index>=0&&index<size){
return (E)array[index]; // E
}
return null;
}
// , , -1
public int indexOf(Object o) {
// TODO Auto-generated method stub
for(int i=0;i<size;i++){
if(array[i]==o){
return i+1;
}
}
return -1;
}
// , true
public boolean isEmpty() {
// TODO Auto-generated method stub
if(size==0)
return true;
return false;
}
// , , -1
public int lastIndexOf(Object o) {
// TODO Auto-generated method stub
for(int i=size-1;i>=0;i--){
if(array[i]==o){
return i+1;
}
}
return -1;
}
//
public E remove(int index) {
// TODO Auto-generated method stub
Object []arraynew = new Object[array.length-1];
for(int j=0;j<index;j++){
arraynew[j]=array[j];
}
for(int i=index;i<size;i++){
arraynew[i-1]=array[i];
}
array=arraynew;
size--;
return null;
}
//
public boolean remove(Object o) {
// TODO Auto-generated method stub
Object []arraynew = new Object[array.length-1];
for(int k=0;k<size;k++){
if(o==array[k]){
for(int j=0;j<k;j++){
arraynew[j]=array[j];
}
for(int i=k;i<size;i++){
arraynew[i]=array[i];
}
array=arraynew;
size--;
}
}
return false;
}
//
public E set(int index, E element) {
// TODO Auto-generated method stub
array[index-1]=element;
return null;
}
//
public int size() {
// TODO Auto-generated method stub
return size;
}
@Override
public boolean addAll(Collection<? extends E> c) {
// TODO Auto-generated method stub
return false;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.