[자료구조] ArrayList 구현 - size, indexOf [Java]

2020. 3. 18. 20:08·자료구조 + 알고리즘

 


 

 

라고 쳤을 때, 배열의 크기가 나오도록 size메서드를 구현해보자

 

 

짜란~

오잉? 여기서

변수로 직접 접근하지 않고 메소드를 사용하는 이유는?

>>그래야지 외부에서 저 size라는 변수값을 마음대로 수정하지 못하기 때무니.

그래서 이전에, 저 size값은 private로 선언했다.

 

 


System.out.println(numbers.indexOf(20));

20의 값을 가지는 인덱스가 몇번이냐? 를 알아보고 싶다. .indexOf()

이것도 구현해보자.

 

자 일단 쭉 순회하면서 해당 값이 있는지 없는지 체크하는과정이 필요하겠지

 

public int indexOf(Object o){

  for(int i=0; i<size; i++){

    if(o.equals(elementData[i])){

      return i;

    }

  }

  return -1;

}

 

ㅇ .equals()의 사용을 알았다

ㅇ return은 for문을 강제로 종료시킨다.

++함수는 리턴을 한번만합니다. for문에서 리턴을 했으므로, 그 밑의 코드는 당연히 실행 안됩니다.

ㅇ 만약 o와 같은 값이 배열에 없다... -> return -1;

 

더보기
오!! 쓸모없는 메서드가 있다고 창도 띄워주네 암튼 ㄱㄱ

 

오케이~~

 


 

 


아!! ==를 사용 안하는 이유가 있었구나. 맨 아래서 정리해보자

 

 

!!

sting.equals(Object other) 메소드를 사용하면 string객체의 문자열을 비교할 수 있으나,

==연산자를 사용하면 문자열 데이터를 비교할 수 없다.

 

equals() 메소드는 string객체의 문자열을 비교 체크하는 반면,

==연산자는 객체의 참조값이 같은지를 체크한다.

 

문자열 객체를 만드는 방법이 두 가지가 있는데,

첫째 : 문자열 리터럴(소스 코드의 고정된 값을 대표하는 용어다.) 사용하는 방법 --> 해당 문자열과 동일한 문자열의 객체가 존재한다면

기존 객체의 참조값을 공유하는 형태로 문자열 객체가 생성된다.

이런 경우에는 ==연산자를 사용해서 "두 문자열이 같다"라는 결과를 얻을 수 있다.

하지만 이것은 좋은 방법이 아니라고 한다.

그래서 항상 equals()메소드를 사용해서 문자열을 비교하는 것이 좋다고 한다.

둘째 : String 클래스의 생성자를 사용하기

더보기

 

 

 

https://m.blog.naver.com/PostView.nhn?blogId=yuyyulee&logNo=220304508276&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[아두이노 강좌] 19. String (2) - String() 생성자와 + 연산

String 클래스에 대해서 더 자세히 살펴보자. 우선 생성자. 생성자란, 클래스 타입의 변수를 선언할 때 클...

blog.naver.com

 

https://hyeonstorage.tistory.com/139

 

[JAVA] String 클래스에 대해서

String 클래스에 대해서 String 객체는 문자열을 사용하는데 가장 많이 사용하는 클래스이다. String 클래스에 대해 자세히 보도록 하자. 일단 String 객체가 하나 생성되면, 그 값은 길어지거나 줄어들 수 없으며..

hyeonstorage.tistory.com

 

 

반응형

'자료구조 + 알고리즘' 카테고리의 다른 글

[자료구조] Linked list의 구조  (0) 2020.03.28
[자료구조] 원소를 무한히 저장하는 ArrayList 구현하기 [JAVA]  (0) 2020.03.28
[자료구조] ArrayList 구현 - toString사용, 데이터 확인하기 [Java]  (0) 2020.03.17
[자료구조] ArrayList 구현 - get, 데이터 가져오기 [Java]  (0) 2020.03.16
[자료구조] ArrayList 구현 - add/addFirst, 데이터를 중간/처음에 추가 [Java]  (0) 2020.03.12
'자료구조 + 알고리즘' 카테고리의 다른 글
  • [자료구조] Linked list의 구조
  • [자료구조] 원소를 무한히 저장하는 ArrayList 구현하기 [JAVA]
  • [자료구조] ArrayList 구현 - toString사용, 데이터 확인하기 [Java]
  • [자료구조] ArrayList 구현 - get, 데이터 가져오기 [Java]
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
[자료구조] ArrayList 구현 - size, indexOf [Java]
상단으로

티스토리툴바