JAVA ArrayList, HashMap, for each, contains, isEmpty()
import java.util.ArrayList;
public class ArrayListMain {
public static void main(String[] args) {
// 이름을 저장할 array 를 만든다.
// array 는 생성할때, 갯수를 꼭 정해놓고 생성해야 한다.
String[] nameArray = new String[10];
int[] numArray = new int[7];
// 위의 array(배열)는, 정해진 갯수 이상으로는
// 데이터 추가가 불가!!
// 따라서, 갯수 제한없이 데이터를 마음대로
// 추가할수도 있고 삭제할수도 있는것이 ArrayList 다!
// 담고싶은 데이터를 < > 안에 적어줘야 한다.
ArrayList<String> nameList = new ArrayList<>();
// 위의 어레이리스트는 비어있는 것이다.
// 데이터 추가
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");
// 데이터 억세스
String name = nameList.get(2);
System.out.println(name);
// 어레이리스트의 데이터 갯수를 확인하는 함수
nameList.size();
// 저장된 데이터를 모두 출력하시오.
for (int i = 0 ; i < nameList.size(); i ++) {
System.out.println(nameList.get(i));
}
// for each 반복문!!
for ( String data : nameList) {
System.out.println( data );
}
// 데이터의 값 변경
// Mike 를 Harry 로 변경
name = nameList.get(2);
System.out.println(name);
nameList.set(2, "Harry");
name = nameList.get(2);
System.out.println(name);
// 삭제하는 방법은 두가지
// 인덱스로 삭제하거나, 값으로 삭제하는것.
nameList.remove(2);
System.out.println(nameList.size());
nameList.remove("Harry");
System.out.println(nameList.size());
nameList.remove("홍길동");
System.out.println(nameList.size());
for (String data :nameList) {
System.out.println(data);
}
// 전체 저장된 데이터를 모두 삭제
nameList.clear();
System.out.println( nameList.size());
// 어레이리스트가 비어있는지 확인하는 함수
if (nameList.isEmpty() ) {
System.out.println("nothing");
}else {
System.out.println("something");
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------
import java.util.HashMap;
public class HashMapMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
// map 은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐 !
// key, value 쌍을 저장한다!!!
HashMap<String, String> phoneMap = new HashMap<>();
// 데이터 저장
phoneMap.put("model", "iPhone 12");
phoneMap.put("year", "2021");
phoneMap.put("color", "red");
// 데이터 억세스 : key로 억세스!!
String model = phoneMap.get("year");
System.out.println(model);

// 데이터 값 변경
phoneMap.put("year" , "2022");
model = phoneMap.get("year");
System.out.println(model);

phoneMap.replace("year" , "2023");
System.out.println(phoneMap);

// 데이터(키와밸류) 삭제
phoneMap.remove("year");
System.out.println(phoneMap);

// 아래 코드는 인덱스로 억세스 하는것이므로 잘못된 코드
for (int i = 0 ; i < phoneMap.size(); i++) {
System.out.println(phoneMap.get(i));
}

Object[] values = phoneMap.values().toArray() ;
for (int i = 0 ; i < values.length ; i++) {
System.out.println( (String) values[i]);
}

for ( Object data : phoneMap.values().toArray()) {
System.out.println( (String)data );
}

// 전체 저장된 데이터를 모두 삭제
phoneMap.clear();
// 데이터가 있는지 없는지 확인하는 코드
if (phoneMap.isEmpty() ) {
System.out.println("Nothing");
} else {
System.out.println("Something");
}

}
}
---------------------------------------------------------------------------------------------------------------------------------------

package main;
import java.util.ArrayList;
import model.Member;
public class AddressMain {
public static void main(String[] args) {
ArrayList<Member> memberList = new ArrayList<>();
Member m1 = new Member();
m1.setName("홍길동");
m1.setPhone("010-1111-2222");
memberList.add(m1);
Member m2 = new Member("김나나", "010-3333-4444");
memberList.add(m2);
// 주소록에 저장된 데이터 출력!
for (int i = 0 ; i < memberList.size(); i ++) {
System.out.println(memberList.get(i).getName());
System.out.println(memberList.get(i).getPhone());
}

for (Member member : memberList) {
System.out.println(member.getName());
System.out.println(member.getPhone());
}

Member m = memberList.get(1);
m.setPhone("010-9999-5225");
for (Member member : memberList) {
System.out.println(member.getName());
System.out.println(member.getPhone());
}

// keyword 가 포함된 전화번호만
// 그 사람의 이름과 폰번을 화면에 출력!
// 예) 999 가 들어있는 전화번호는 모두 찾아서
// 화면에 출력
String keyword = "22";
for (Member member : memberList) {
if (member.getPhone().contains(keyword)) {
System.out.println( member.getName() + " " + member.getPhone());
}
}

}
}