일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- FastAPI
- 생활코딩
- ibatis
- Error
- 객체지향
- 반복문
- jsp
- ddit
- Mac
- 자바문제
- nodejs
- 이클립스
- API
- 맥
- python
- spring
- 컬렉션프레임워크
- Homebrew
- Java
- JDBC
- 자바
- Oracle
- Android
- 배열
- crud
- pyqt
- html
- 대덕인재개발원
- servlet
- 단축키
Archives
- Today
- Total
romworld
ArrayList 본문
1)
package kr.or.ddit.basic;
import java.util.ArrayList;
public class ArrayList01 {
public static void main(String[] args) {
// ArrayList는 기본적인 사용법이 Vector와 같다.
ArrayList list1 = new ArrayList();
// add()메서드를 이용해서 추가한다.
list1.add("aaa");
list1.add("bbb");
list1.add(123);
list1.add("k");
list1.add(true);
list1.add(123.45);
// System.out.println("list1 => " + list1.toString());
System.out.println("list1 = > " + list1);
System.out.println("seze => " + list1.size());
// get()메서드로 데이터를 꺼내온다.
System.out.println("1번째 자료 : " + list1.get(1));
// 데이터 끼워넣기도 같다.
list1.add(3,"zzz");
System.out.println("list1 = > " + list1);
// 데이터 변경하기
String temp = (String)list1.set(3, "xxx");
System.out.println(temp);
System.out.println("list1 = > " + list1);
//삭제도 같다.
list1.remove(3);
System.out.println("list1 = > " + list1);
list1.remove("bbb");
System.out.println("list1 = > " + list1);
System.out.println("-------------------------------------------");
// 제네릭을 사용할 수 있다.
ArrayList<String> list2 = new ArrayList<String>();
list2.add("AAAA");
list2.add("BBBB");
list2.add("CCCC");
list2.add("DDDD");
list2.add("EEEE");
for(int i=0; i < list2.size();i++) {
System.out.println(i + " ==> " + list2.get(i));
}
System.out.println("------------------------------------");
for(String str : list2) {
System.out.println(str);
}
System.out.println("------------------------------------");
// contains(비교객체) ==> List에 '비교객체'가 있으면 true, 없으면 false를 반환한다.
System.out.println("DDDD값 : " + list2.contains("DDDD"));
System.out.println("ZZZZ값 : " + list2.contains("ZZZZ"));
System.out.println();
// indexOf(비교객체), lastIndexOf(비교객체)
// ==> List에 '비교객체'가 있으면 '비교객체'가 있는 'index값'을 반환하고 없으면 -1을 반환한다.
// ==> indexOf()메서드는 검색을 앞에서 뒤쪽방향으로 하고,
// lastIndexOf()메서드는 뒤에서부터 앞쪽방향으로 한다.
System.out.println("DDDD의 위치값 : " + list2.indexOf("DDDD"));
System.out.println("DDDD의 위치값 : " + list2.lastIndexOf("DDDD"));
System.out.println();
System.out.println("KKKK의 위치값 : " + list2.indexOf("KKKK"));
System.out.println("KKKK의 위치값 : " + list2.lastIndexOf("KKKK"));
System.out.println("-----------------------------------------------");
// toArray() => List 안의 데이터를 배열로 변환하여 반환한다.
// => 반환값은 기본적으로 Object형 배열로 반환한다.
Object[] strArr = list2.toArray();
// String[] srtArr = (String[])list2.toArray(); // 오류
// toArray(new 제네릭타입[0] ==> 제네릭타입의 배열로 반환한다.
System.out.println("배열의 크기 :" + strArr.length);
for (int i = 0; i < strArr.length; i++) {
System.out.println(i + "번째 자료 : " + strArr[i]);
}
System.out.println("----------------------------------");
String[] strArr2 = list2.toArray(new String[0]); //이렇게 해야 오류가 안남
for(String str : strArr2) {
System.out.println(str);
}
}
}
2)
package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Scanner;
/*
문제) 5명의 사람 이름을 입력 받아서 ArrayList에 저장한 후에
이들 중 '김'씨 성의 이름을 모두 출력하시오.
(단, 입력은 Scanner객체를 이용한다.)
*/
public class ArrayList02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> arr = new ArrayList<String>();
System.out.println("5명의 이름을 입력하세요 >>");
for(int i = 0; i <5; i++) {
System.out.println(i + "번째 사람 이름 : ");
// String name = sc.nextLine();
// arr.add(name);
arr.add(sc.next()); //next() 와 nextList() 의 차이점은 나중에 알려주신다고 함
}
// System.out.println();
// System.out.println("김씨 성을 가진 사람 리스트");
// for(int i =0; i < arr.size(); i++) {
// if(arr.get(i).substring(0,1).equals("김")) {
// System.out.println(arr.get(i));
// }
// }
//
// System.out.println(); //2번째 방법~~
// System.out.println("김씨성을 가진 사람 리스트");
// for(int i =0; i < arr.size(); i++) {
// if(arr.get(i).startsWith("김")) {
// System.out.println(arr.get(i));
// }
// }
// System.out.println();
// System.out.println("김씨 성을 가진 사람 리스트");
// for(int i =0; i < arr.size(); i++) {
// if(arr.get(i).charAt(0) == '김') {
// System.out.println(arr.get(i));
// }
// }
System.out.println();
System.out.println("김씨 성을 가진 사람 리스트");
for(int i =0; i < arr.size(); i++) {
if(arr.get(i).indexOf("김") == 0) {
System.out.println(arr.get(i));
}
}
// System.out.println(); //향상된 for문
// System.out.println("김씨성을 가진 사람 리스트");
// for(String n:arr) {
// if(n.substring(0,1).equals("김")) {
// System.out.println(n);
// }
// }
}
}
3)
package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 문제) 5명의 별명을 입력 받아 ArrayList에 저장하고 이들 중 별명의 길이가 제일 긴 별명을 출력하시오.
* (단, 각 별명의 길이는 모두 다르게 입력한다.)
*/
public class ArrayList03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> nameList = new ArrayList<String>();
System.out.println("5명의 별명을 입력하세요 >> ");
for(int i = 0; i<5; i++) {
System.out.println(i + "번째 별명 : " );
nameList.add(sc.next());
}
System.out.println();
System.out.println("가장 긴 별명은 >>");
//제일 긴 별명이 저장될 변수를 선언하고 List의 첫번째 값으로 초기화 한다.
String maxName = nameList.get(0);
for(int i =0; i < nameList.size(); i++) {
if(nameList.get(i).length() > maxName.length()) {
maxName = nameList.get(i);
}
}
System.out.println(maxName);
}
}
4)
package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 문제) 5명의 별명을 입력 받아 ArrayList에 저장하고 이들 중 별명의 길이가 제일 긴 별명을 출력하시오.
* (단, 각 별명의 길이는 같을 수도 있다.)
*/
public class ArrayList04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> nameList = new ArrayList<String>();
System.out.println("5명의 별명을 입력하세요 >> ");
for(int i = 0; i<5; i++) {
System.out.println(i + "번째 별명 : " );
nameList.add(sc.next());
}
System.out.println();
// 제일 긴 별명의 길이가 저장될 변수를 선언하고 첫번째 별명의 길이로 초기화 한다.
int maxLength = nameList.get(0).length();
for(int i = 1; i < nameList.size(); i++) {
if(maxLength < nameList.get(i).length()) {
maxLength = nameList.get(i).length();
}
}
//제일 긴 길이들과 같은 길이를 같는 애를 찾아서 출력
System.out.println("제일 긴 별명들...");
for(String name : nameList) {
if(name.length() == maxLength) {
System.out.println(name);
}
}
}
}
'JAVA > 개념정리' 카테고리의 다른 글
Map , Set (0) | 2022.10.28 |
---|---|
Equals, HashCode (0) | 2022.10.28 |
정렬(Comparable, Comparator) (0) | 2022.10.28 |
JDBC (DB와 연결) (0) | 2022.10.10 |
컬렉션 프레임워크 (0) | 2022.10.10 |
Comments