Java

JAVA ArrayList, HashMap, for each, contains, isEmpty()

leopard4 2023. 1. 25. 12:59

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());

}

}

 

}

}