Spring 주차 진행중. 오늘은 오전에 스프링 퀴즈를 보고 코테를 풀다가 자바와 스프링 내용을 복습했다. 오늘의 TIL은 자바 복습 중 본 deque를 정리해보겠다.
Deque은 스택으로도 큐로도 쓸 수 있는 자료구조이다. 양방향에서 삽입과 삭제를 할 수 있다.
Deque은 자바에서 인터페이스로 정의되어있고 4개의 클래스로 구현 가능하다.
Deque<String> deque1 = new ArrayDeque<>();
Deque<String> deque2 = new LinkedBlockingDeque<>();
Deque<String> deque3 = new ConcurrentLinkedDeque<>();
Deque<String> linkedList = new LinkedList<>();
.addFirst() // 덱의 앞쪽에 삽입하고 용량 초과시 예외(Exception) 발생.
.offerFirst() // 덱의 앞쪽에 삽입하고 삽입 성공시 true, 용량제한시 false.
.removeFirst() // 덱의 앞쪽에서 원소를 하나 뽑아서 반환하고 삭제. 덱이 비어있으면 예외 발생.
.pollFirst() // 덱의 앞쪽에서 원소를 하나 뽑아서 반환하고 삭제. 덱이 비어있으면 null을 return.
.getFirst() // 덱의 앞쪽 원소 하나를 제거하지 않고 반환. 비어있으면 예외 발생
.peekFirst() // 덱의 앞쪽 원소 하나를 제거하지 않고 반환. 비어있으면 null반환
.removeFirstOccurrence(Object o) // 덱의 앞쪽부터 탐색해 o와 동일한 첫 원소를 제거.
.contain(Object o) // 덱에 o와 동일한 원소 있나 확인.
.size() // 덱의 크기
덱을 스택으로 사용할 때 push() pop() 다 사용 가능.
shift + f6누르면 메서드명 한번에 바꾸기 가능
만들어져있는 test는 검증할때 꼭 사용!!
test 폴더 안에 test용 클래스 만들고
위에 @SpringBootTest 어노테이션 붙여야
test 하려는 클래스 private 으로 불러온 뒤
테스트 하려는 메서드 위에 @Test 씀
@Autowired는 요즘은 거의 안씀
근데 test에는 private으로 불러온 변수 위에 씀
@SpringBootTest
public class MemberServiceTest {
@Autowired
private MemberService memberService;
@Autowired
private MemberRepository memberRepository;
@Test
void postMember() {
MemberRequestDto memberRequestDto = new MemberRequestDto("asd@asd.com", "asd");
Member member = new Member(memberRequestDto.getEmail(), memberRequestDto.getPassword());
memberService.postMember(memberRequestDto);
assertThat(member.getEmail()).isEqualTo("asd@asd.com");
System.out.println("================");
System.out.println(member.getEmail());
System.out.println("================");
}
자바 디자인패턴 / 싱글톤
스프링 Test 제대로 사용하는법