중첩 클래스 : 클래스 멤버로 언된 클래스
중첩 인터페이스 : 클래스 멤버로 선언된 인터페이스
중첩 클래스/인터페이스 용도
- 해당 클래스에만 사용하는 클래스와 인터페이스가 필요할 때
- 중첩 인터페이스는 UI컴포넌트 내부 이벤트 처리에 많이 활용
익명 자식 객체
Generic
컬렉션 프레임워크
1) List - 중복 O
==(1) ArrayList
arraylist.get()
arryalist.set()
arraylist.size()
arraylist.remove()
arraylist.clear()
==(2) LinkedList
중간에 삽입이 어려움
==(3) Vector
ArrayList와 비슷하지만 속도가 떨어지지만, ArrayList보다 멀티스레드 환경에서는 안전하여, 여전히 많이 쓰이고 있음
2) Map - list계열과 달리 인덱스 X, 키와 값만있고 중복X
==(1) HashMap
3) Set - 데이터의 순서는 없지만 중복된 데이터는 허락 X
==(1) HashSet
-- Iterator 자료구조
- 반복자라는 의미로 데이터를 반복적으로 검색하는데 유용한 인터페이스
모든 자료구조형은 Iterator를 지원
== 디자인패턴
싱클톤 패턴(Singleton pattern)
어떤 클래스의 인스턴스는 오직 하나임을 보장
Java API활용
날짜(Calender) API
Random 클래스
Scanner 및 Sysout
Wrapper 클래스의 이해
Timer 클래스
StringTokenizer
입출력(I/O) 이란?
입력 스트림과 출력 스트림
파일 입출력
보조 스트림
스레드
JAVA 네트워크
JDBC
-Statement객체 살펴보기
-JDBC 연동 확인
package lambda;
interface Say4 {
int something(int a, int b);
}
interface Hello {
void something(String c, String d);
}
class Person4 {
// Say4 인터페이스를 사용하는 greeting 메서드
public void greeting(Say4 say) {
int num = say.something(3, 5);
System.out.println("Number is: " + num);
}
// Hello 인터페이스를 사용하는 greeting 메서드
public void greeting(Hello say) {
say.something("Hello", "World");
}
}
public class LambdaDefaultExam4 {
public static void main(String[] args) {
Person4 person = new Person4();
// Say4 인터페이스를 사용한 익명 클래스
person.greeting(new Say4() {
@Override
public int something(int a, int b) {
System.out.println("My name is Java");
System.out.println("Nice to meet you ><b");
System.out.println("Parameter is " + a + " and " + b);
return 7;
}
});
System.out.println("================");
// Hello 인터페이스를 사용한 람다 표현식
person.greeting((String c, String d) -> {
System.out.println("My name is Java");
System.out.println("Thank you Lambda ><");
System.out.println("Parameter is " + c + " " + d);
});
}
}
package anonymousex;
import anonymousex.Button.OnClickListener;
public class Window {
Button btn1 = new Button();
Button btn2 = new Button();
OnClickListener listener = new Button.OnClickListener() {
@Override
public void onClick() {
System.out.println("전화를 겁니다.");
}
};
public Window() {
btn1.setOnClickListener(listener);
//btn2.setOnClickListener(new Button.OnClickListener() {
//@Override
//public void onClick() {
System.out.println("메세지를 보냅니다.");
//
// }
// });
// java8 Lambda
btn2.setOnClickListener(() -> {
System.out.println("람다식 메세지를 보냅니다.");
});
}
}
package anonymousex;
public class WindowMain {
public static void main(String[] args) {
Window w = new Window();
w.btn1.touch();
w.btn2.touch();
}
}
package lambda;
interface Say {
void something();
}
class Person {
public void greeting(Say say) {
say.something();
}
}
/*
* 1. 람다는 매개변수 화살표(->) 함수몸체로 구성 2. 매개변수가 하나일 경우 매개변수를 생략 할 수 있음. 3. 함수몸체가 단일
* 실행문이면 괄호({})를 생략 할 수 있음. 4. 함수몸체가 return문으로만 구성되어 있는 경우 괄호({})를 생략할 수 있음. 5.
* 함수형 인터페이스에서만 사용 가능.
*
*/
public class LambdaDefaultExam {
public static void main(String[] args) {
Person person = new Person();
person.greeting(new Say() {
@Override
public void something() {
System.out.println("My name is Java");
System.out.println("Nice to meet you ><b");
}
});
System.out.println("================");
person.greeting(() -> {
System.out.println("My name is Java");
System.out.println("Thank you Lambda ><;");
} );
}
}
package lambda;
interface Say1 {
int something(int a, int b);
}
class Person3 {
public void greeting(Say1 say) {
int num = say.something(3, 5);
System.out.println("Number is: " + num);
}
}
public class LambdaDefaultExam2 {
public static void main(String[] args) {
Person3 person = new Person3();
person.greeting(new Say1() {
@Override
public int something(int a, int b) {
System.out.println("My name is Java");
System.out.println("Nice to meet you ><b");
System.out.println("Parameter is " + a + "and" + b);
return 7;
}
});
System.out.println("================");
// Lambda expression
person.greeting((int a, int b) -> {
System.out.println("My name is Java");
System.out.println("Thank you Lambda ><;");
System.out.println("Parameter is " + a + " " + b);
return 8;
});
}
}
package lambda;
interface Say4 {
int something(int a, int b);
}
interface Hello {
void something(String c, String d);
}
class Person4 {
// Say4 인터페이스를 사용하는 greeting 메서드
public void greeting(Say4 say) {
int num = say.something(3, 5);
System.out.println("Number is: " + num);
}
// Hello 인터페이스를 사용하는 greeting 메서드
public void greeting(Hello say) {
say.something("Hello", "World");
}
}
public class LambdaDefaultExam4 {
public static void main(String[] args) {
Person4 person = new Person4();
// Say4 인터페이스를 사용한 익명 클래스
person.greeting(new Say4() {
@Override
public int something(int a, int b) {
System.out.println("My name is Java");
System.out.println("Nice to meet you ><b");
System.out.println("Parameter is " + a + " and " + b);
return 7;
}
});
System.out.println("================");
// Hello 인터페이스를 사용한 람다 표현식
person.greeting((String c, String d) -> {
System.out.println("My name is Java");
System.out.println("Thank you Lambda ><");
System.out.println("Parameter is " + c + " " + d);
});
}
}
package CollectionEx;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetEx {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("양효선");
set.add("홍용표");
set.add("황진호");
set.add("김동진");
set.add("전경수");
set.add("양효선");
System.out.println(set);
Set<String> sortedSet = new TreeSet<>(set);
System.out.println(sortedSet);
}
}
package CollectionEx;
import java.util.HashMap;
import java.util.Map;
public class MapEx {
public static void main(String[] args) {
Map<String, String> map= new HashMap<>();
map.put("1","양효선");
map.put("2","홍용표");
map.put("3","황진호");
map.put("4","김동진");
map.put("5","전경수");
map.put("6","양효선");
System.out.println(map);
System.out.println(map.get("2"));
}
}'BackEnd > Backend 공부 정리' 카테고리의 다른 글
| Java-17 (0) | 2024.08.29 |
|---|---|
| sqldeveloper-16 (0) | 2024.08.28 |
| Java-15 (0) | 2024.08.27 |
| sqldeveloper-14 (0) | 2024.08.26 |
| Java-14 (0) | 2024.08.26 |