[Java] contains, indexOf, toArray()

contains(비교객체)

List에 비교객체가 있으면 true, 없으면 false 반환

System.out.println("DDD값 존재 여부: "+ list2.contains("DDD"));
System.out.println("YYY값 존재 여부: "+ list2.contains("YYY"));
		

indexOf(비교객체)

List에 비교객체가 있으면 비교객체가 있는 위치의 index값을 반환한다. 없으면 -1을 반환한다.

System.out.println("DDD의 위치값: "+ list2.indexOf("DDD"));
System.out.println("YYY의 위치값: "+ list2.indexOf("YYY"));
		

근데 개빡치는게 만약에 list가 [김바보, 박바보, 정바보] 이렇다고하면
list.indexOf("김") 이면 -1이 나옴 [김바보, 박바보, 정바보] 중에 김만 딸랑 있는게 없으니까

근데 list.get(0).indexOf("김")하면 0이나옴
list.get(0)이 [김바보] 인데 여기서 김이 몇번쨰냐? 이렇게 묻는거라
인덱스로 따지면 김0 바1 보2 이렇게되어서^_ㅠ

이걸 몰라서 헤맸다,,,,, 인덱스하나가 또 인덱스로 쪼개질줄은 몰랐그든여

toArray()

List안의 데이터를 배열로 변환하여 반환한다.
기본적으로 Object형 배열로 변환한다.
때문에 데이터를 꺼내서 변수에 저장할때 형변환을 해야한다는것이 단점

	Object[] strArr = list2.toArray(); 
			
	System.out.println(Arrays.toString(strArr));
	System.out.println("배열의 개수: "+ strArr.length);
	for(int i=0; i<strArr.length; i++){
		String str = (String)strArr[i];
		System.out.println(i+ "=>"+str);
			}

toArray()로 원하는 타입의 배열로 반환하고 싶으면?

toArray(new 제네릭 타입[0])

String[] strArr2 = list2.toArray(new String[0]);

for(int i=0; i<strArr2.length; i++){
	String str =strArr2[i];
	System.out.println(i+ "=>"+str);
    }
    

좋은 웹페이지 즐겨찾기