스포츠마케터의 초보 개발자 도전기
JAVA study 17 본문
List
예제1)
package ex1_list;
public class Person {
private String name;
private int kor;
private int eng;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
}
--
package ex1_list;
import java.util.ArrayList;
import java.util.List;
public class PersonListMain {
public static void main(String[] args) {
List<Person> arr = new ArrayList<Person>();
Person p1 = new Person();
p1.setName("홍길동");
p1.setKor(99);
p1.setEng(67);
Person p2 = new Person();
p2.setName("김길순");
p2.setKor(100);
p2.setEng(80);
arr.add(p1);
arr.add(p2);
for(int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i).getName() + " / " +
arr.get(i).getEng() + " / " +
arr.get(i).getKor());
}
}//main
}
예제2)
package ex2_list;
public class Animal {
private String name;
private int eye;
private int leg;
private String scream;
public Animal(String name, int eye, int leg, String scream) {
this.name = name;
this.eye = eye;
this.leg = leg;
this.scream = scream;
}
public String getName() {
return name;
}
public int getEye() {
return eye;
}
public int getLeg() {
return leg;
}
public String getScream() {
return scream;
}
}
--
package ex2_list;
import java.util.ArrayList;
import java.util.List;
public class AnimalMain {
public static void main(String[] args) {
List<Animal> arr = new ArrayList<Animal>();
Animal dog = new Animal("강아지", 2, 4, "멍멍");
Animal snake = new Animal("뱀", 2, 0, "뱀뱀뱀");
arr.add(dog);
arr.add(snake);
System.out.println("이름\t눈\t다리\t울음소리");
for (int i = 0; i < 2; i++) {
System.out.println(arr.get(i).getName() + "\t" +
arr.get(i).getEye() + "\t" +
arr.get(i).getLeg() + "\t" +
arr.get(i).getScream());
}
}// main
}
예제3)
package ex3_list;
public class UserInfo {
private String id;
private int pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
}
}
--
package ex3_list;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class UserMain {
public static void main(String[] args) {
// id : aaa
// pwd : 1111
// aaa/1111
// ---
// id : bbb
// pwd : 2222
Scanner sc = new Scanner(System.in);
List<UserInfo> user = new ArrayList<UserInfo>();
outer: while (true) {
UserInfo ui = new UserInfo();
System.out.println("id : ");
String id = sc.next();
ui.setId(id);
// 아이디 중복체크
for (int i = 0; i < user.size(); i++) {
// if(ui.getId().equals(user.ger(i).getId())) -> 선생님 방식
if (user.get(i).getId().equals(id)) {
System.out.println("아이디가 중복됨");
continue outer;
}
}
System.out.println("pwd : ");
ui.setPwd(sc.nextInt());
user.add(ui);
for (int i = 0; i < user.size(); i++) {
System.out.println(user.get(i).getId() + "/" + user.get(i).getPwd());
} // for
} // while
}// main
}
예제4)
package ex4_list;
public class Person {
private String name, tel;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
--
package ex4_list;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PersonMain {
public static void main(String[] args) {
// 1.회원추가
// 2.회원삭제
// 3.전체정보
// etc.종료
// >>1
// ---회원추가---
// 이름 : hong
// 나이 : 20
// 전화 : 010
// 정보저장완료
// 1.회원추가
// 2.회원삭제
// 3.전체정보
// etc.종료
// >>3
// ---전체정보---
// 등록인원 1명
// hong / 20 /010
// 1.회원추가
// 2.회원삭제
// 3.전체정보
// etc.종료
// >>2
// ---회원삭제---
// 삭제할 이름 : hong
// 삭제성공 or OOO은 없습니다
List<Person> info = new ArrayList<Person>();
Scanner sc = new Scanner(System.in);
Person pInfo = new Person();
outer: while (true) {
System.out.println("1. 회원추가");
System.out.println("2. 회원삭제");
System.out.println("3. 전체정보");
System.out.println("etc. 종료");
System.out.print(">>");
int select = sc.nextInt();
switch (select) {
case 1://회원추가
System.out.println("---회원추가---");
System.out.print("이름 : ");
pInfo.setName(sc.next());
System.out.print("나이 : ");
pInfo.setAge(sc.nextInt());
System.out.print("전화번호 : ");
pInfo.setTel(sc.next());
info.add(pInfo);
System.out.println("정보저장완료");
break;
case 2://회원삭제
System.out.println("---회원삭제---");
System.out.print("삭제 할 이름 : ");
String name = sc.next(); // 아래 대신 tCode
//pInfo.setName(sc.next());
for (int i = 0; i < info.size(); i++) {
if (info.get(i).getName().equals(name)) { //아래 대신 tCode
//if (!info.get(i).getName().equals(pInfo.getName())) {
info.remove(i);
System.out.println("삭제성공");
break;
} else {
if( i + 1 == info.size()) {
System.out.println(name + "정보가 없습니다");
}
}
}
break;
case 3://전체정보
System.out.println("---전체정보---");
for (int i = 0; i < info.size(); i++) {
System.out.println(info.get(i).getName() + " / " +
info.get(i).getAge() + " / " +
info.get(i).getTel());
}//for
break;
default:
System.out.println("종료");
break outer;
}// switch
System.out.println("----------------");
} // while
}// main
}
과제1)
package ex5_work;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Ex1_work {
public static void main(String[] args) {
// ArrayList에 담긴 값들 중 내가 입력받은 문장과 동일한 값이 몇번째 인덱스에 있는지 찾아내기
// ==========
// 찾을 문장 : Blue
// Blue의 모든 인덱스 : [1, 3, 5]
Scanner sc = new Scanner(System.in);
List<String> colors = new ArrayList<String>();
colors.add("Red");
colors.add("Blue");
colors.add("Green");
colors.add("Blue");
colors.add("Yellow");
colors.add("Blue");
colors.add("Cyan");
System.out.print("입력 : ");
String str = sc.next();
//결과를 저장항 ArrayList 추가
List<Integer> result = new ArrayList<Integer>();
for (int i = 0; i < colors.size(); i++) {
if (str.equals(colors.get(i))) {
result.add(i);
}
} // for
System.out.print(result);
}// main
}
과제2)
package ex5_work;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class Ex2_work {
public static void main(String[] args) {
// ArrayList를 2개 만들고 1~5사이의 난수를 5개 추가
// 두 리스트의 값을 비교하여 교집합을 출력
// -----------------------------------------
// list1 = [5, 3, 5, 1, 5]
// list2 = [2, 3, 1, 1, 3]
// 교집합 : [3, 1]
Random rnd = new Random();
List<Integer> num1 = new ArrayList<Integer>();
List<Integer> num2 = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
num1.add(rnd.nextInt(5) + 1);
num2.add(rnd.nextInt(5) + 1);
}
System.out.println(num1);
System.out.println(num2);
Set<Integer> intersection = new HashSet<Integer>();
//contains를 사용하여 아래 2중 for문을 대체하는 코드 만들어 보기
for(int num : num1) {
if (num2.contains(num) && !intersection.contains(num)) {
intersection.add(num);
}
}
System.out.println(intersection);
// for (int i = 0; i < num1.size(); i++) {
// int cnt = 0;
//
// for (int j = 0; j < num2.size();) {
// if (num1.get(i) == num2.get(j)) {
// cnt++;
// num2.remove(j);
//
// if (cnt == 1) {
// intersection.add(num1.get(i));
// }
// continue;
// }
// j++;
//
// } // i for
// } // o for
// System.out.println("교집합 " + intersection);
// for (int i = 0; i < 5; i++) {
// for (int k = 0; k < 5; k++) {
// if (num1.get(i).equals(num2.get(k))) {
// intersection.add(num2.get(k));
// break;
// }
// }
// } // for
//
// System.out.println(intersection);
//String 클래스도 contains를 포한하고 있다
String str = "hi hello welcome world";
if (str.contains("i")){
System.out.println("i가 있음");
}
if(str.contains("m")) {
System.out.println("m이 있음");
}
if(str.contains("z")) {//없어서 출력 안됨
System.out.println("z이 있음");
}
}// main
}
과제3)
package ex5_work;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Ex3_work {
public static void main(String[] args) {
// 정수를 입력하세요(종료: 0)
// >> 45
// >> 17
// >> 20
// >> ...
// >> 0
// 원하는 숫자의 범위를 입력하시오
// 시작값 : 15
// 끝값 : 20
// 범위내의 숫자
// 17
// 20
Scanner sc = new Scanner(System.in);
List<Integer> list = new ArrayList<Integer>();
System.out.print("정수를 입력 하세요(종료 0) : \n>>");
while (sc.nextInt() != 0) {
System.out.print(">>");
list.add(sc.nextInt());
}
System.out.println("원하는 숫자의 범위를 입력하시오");
System.out.print("시작값 : ");
int sNum = sc.nextInt();
System.out.println("끝값 : ");
int fNum = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
if (list.get(i) > sNum && list.get(i) < fNum) {
System.out.println(list.get(i));
}
}
}// main
}'develop > JAVA' 카테고리의 다른 글
| JAVA study 19 (0) | 2024.03.25 |
|---|---|
| JAVA study 18 (0) | 2024.03.21 |
| JAVA study 16 (0) | 2024.03.19 |
| JAVA study 15 (0) | 2024.03.18 |
| JAVA study 14 (0) | 2024.03.15 |