제곱
3의 제곱 (3의 2승) 구하기
System.out.println( Math.pow(3, 2) );
출력 결과: 9.0 함수의 입출력이 모두, 실수형인 double형입니다. 따라서 정수의 결과값을 구하려면, 정수로 변환해 주어야 합니다.
double to int
Double d = 5.25;
Integer i = d.intValue(); // i becomes 5
Or
double d = 5.25;
int i = (int) d;
swap과 call by Reference와 call by value
http://re-build.tistory.com/3
Array 배열 정렬하기
int[] arr = {2,3,1,378,19,25};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
public static void swap(final int[] arr, final int pos1, final int pos2){
final int temp = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = temp;
}
문자열 비교
equals
String s1 = "Joos";
String s2 = "Joos";
String s3 = new String ("Joos");
String s4 = "Juilet"
System.out.println(s1.equals(s2)); //true
System.out.println(s1.equals(s3)); //true
System.out.println(s1.equals(s4)); //false
Prime 알기
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String args[]) {
BigInteger n = scanner.nextBigInteger();
System.out.println(n.isProbablePrime(100) ? "prime" : "not prime");
}
}
ArrayList
ArrayList 초기화
import java.util.ArrayList;
import java.util.List;
List idolList = new ArrayList();
ArrayList 값 추가
idolList.add("아이린");
idolList.add("예리");
idolList.add(new String("조이"));
idolList.add(1, "첫번째 요소값");
ArrayList 인덱스를 통한 조회
// 인덱스를 통한 조회
String element0 = idolList.get(0).toString(); //아이린
String element1 = idolList.get(1).toString(); // 예리
String element3 = idolList.get(2).toString(); // 조이
ArrayList의 Iterator 통한 전체 조회
import java.util.Iterator;
Iterator iterator = idolList.iterator();
while (iterator.hasNext()) {
String element = (String) iterator.next();
}
ArrayList의 for-loop 통한 전체 조회
for(Object object : idolList) {
String element = (String) object;
}
ArrayList의 특정 값 앞에 값 추가
int index = idolList.indexOf("아이린");
idolList.add(index, "아이린 앞에 값 추가");
ArrayList의 존재 여부 확인
System.out.println(idolList.contains("아이린"));
ArrayList의 값 삭제하는 방법
System.out.println(idolList.remove(0));
System.out.println(idolList.remove("아이린"));
HashMap
HashMap 초기화
import java.util.HashMap;
HashMap<String, Integer> idolMap = new HashMap();
HashMap 값 추가
idolMap.put("아이유", 25);
idolMap.put("아이린", 20);
idolMap.put("설현", 30);
HashMap key값으로 호출
// get() --> Key에 해당하는 Value를 출력한다.
System.out.println( idolMap.get("아이유") ); // 25
HashMap 모든 값 list로 가져오기
// values() --> 저장된 모든 값 출력
System.out.println( idolMap.values() ); // [25, 20, 30]
HashMap 하나씩 출력
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
// HashMap에 넣은 Key와 Value를 Set에 넣고 iterator에 값으로 Set정보를 담에 준다.
// Interator itr = idolMap.entrySet().interator(); 와 같다.
Set<Entry<String, Integer>> set = idolMap.entrySet();
Interator<Entry<String, Integer>> itr = set.interator();
while (itr.hasNext()){
Map.Entry<String, Integer> e = (Map.Entry<String, Integer>)itr.next();
System.out.println("이름 : " + e.getKey() + ", 나이 : " + e.getValue());
}
Array
array 초기화
boolean [] bitList; // boolean 형태 list
bitList = new boolean[10]; //기본값으로 초기화
// 길이는 10
Arrays.fill(bitList, false); //특정 값으로 초기화
// false라는 값으로 초기화
//배열의 길이
bitList.length //10
array 처음부터 끝까지 출력하기
import java.util.*;
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int size = in.nextInt();
int[] arr = new int[size];
for(int i=0; i<size; i++){
arr[i] = in.nextInt();
}
for(int i=0; i<size; i++){
System.out.print(arr[i]);
}
}
}
2차원 배열
int [] [] intArrays = new int [행][열];
intArrays // 여기에는 주소값이 들어있다.
intArrays[0] // 여기에도 주소값이 들어있다.
intArrays[0][0] // 여기에는 0이 들어간다.
intArrays.length // 행의 갯수를 리턴한다.
intArrays[0].length // 이때는 열의 갯수를 리턴한다.
//다차원 배열의 할당 선언
boolean [] [] booleanArrays = { {true, true}, {false, false, false}, ... };
배열 for in 문
//실제 예
for( int i : intArray ) {
System.out.print( i ); //배열의 각 값이 i에 담겨진다.
}
// 2차원
for( String [] s : stringArrays ) // 행을 가져오기
for( String t : s ) // 열을 가져오기
System.out.print( t ); //2차원 배열의 각 값이 t에 담겨진다.
array 정렬
Arrays.sort( 배열명 );
Stack
import java.util.*;
public class Main {
private static Scanner sc = new Scanner(System.in);
public static void main(String args[]) {
Stack<String> s = new Stack<String>();
s.push("A");
s.push("B");
s.push("C");
System.out.println("STACK 출력순서");
while(!s.empty()){
System.out.println(s.pop());
}
}
}
boolean empty() - true , false 로 비었는지 리턴함 Object peek() - 스택의 최상위 (젤늦게 넣은) 객체를 반환 / Only 출력개념 Object pop() - 스택의 최상위 객체를 꺼낸다 / 꺼내면 객체는 사라짐 Object push(Object item) - 스택에 객체를 저장한다.
Queue
import java.util.*;
public class Main {
private static Scanner sc = new Scanner(System.in);
public static void main(String args[]) {
Queue<String> q = new LinkedList<String>();
q.offer("A");
q.offer("B");
q.offer("C");
System.out.println("Queue 출력순서");
while(!q.isEmpty()){
System.out.println(q.poll()); // poll은 큐 객체를 불러온다.
// A B C 순으로 나온다.
}
}
}
Object element() - 저장된 요소를 불러옴 boolean offer(Object o ) - Queue에 객체 저장 ( true : 성공, false : 실패 ) 반환 Object peek() - 저장된 객체를 반환 / 없을경우 Null 을 반환 Object poll() - 객체를 꺼내온다 / 꺼낸객체는 사라짐 remove() - 젤 앞에 것 가져온다. boolean isEmpty() - queue에 값이 존재하는지 아닌지 알려준다.
SortedSet과 Treeset
public class Sorter {
public static void main(String[] args) {
// TreeSet is an implementation of SortedSet
SortedSet<Employee> set = new TreeSet<Employee>();
set.add(new Employee("Ashraf", 60));
set.add(new Employee("Sara", 50));
set.add(new Employee("Mohamed", 10));
set.add(new Employee("Esraa", 20));
set.add(new Employee("Bahaa", 40));
set.add(new Employee("Dalia", 30));
// Iterating over the employees in the set
System.out.println("Set after sorting:");
Iterator<Employee> it = set.iterator();
while (it.hasNext()) {
// Get employee name and age
Employee epm = (Employee) it.next();
System.out.println("Employee " + epm.getName() + ", his age: " + epm.getAge());
}
// Test comparator(), comparator will be null as we are using the Comparable interface
System.out.println("Employee Set Comparator: " + set.comparator());
// Test first()
System.out.println("First Employee: " + set.first().getName());
// Test last()
System.out.println("Last Employee: " + set.last().getName());
// Test headSet()
System.out.println("headSet() result:");
SortedSet<Employee> headSet = set.headSet(new Employee("Dalia", 30));
// Iterating over the employees in the headSet
Iterator<Employee> headSetIt = headSet.iterator();
while (headSetIt.hasNext()) {
// Get employee name and age
Employee epm = (Employee) headSetIt.next();
System.out.println("Employee " + epm.getName() + " his age: " + epm.getAge());
}
// Test subSet()
System.out.println("subSet() result:");
SortedSet<Employee> subSet = set.subSet(new Employee("Mohamed", 10), new Employee("Sara", 50));
// Iterating over the employees in the subSet
Iterator<Employee> subSetIt = subSet.iterator();
while (subSetIt.hasNext()) {
// Get employee name and age
Employee epm = (Employee) subSetIt.next();
System.out.println("Employee " + epm.getName() + " his age: " + epm.getAge());
}
// Test tailSet()
System.out.println("tailSet() result:");
SortedSet<Employee> tailSet = set.tailSet(new Employee("Bahaa", 40));
// Iterating over the employees in the tailSet
Iterator<Employee> tailSetIt = tailSet.iterator();
while (tailSetIt.hasNext()) {
// Get employee name and age
Employee epm = (Employee) tailSetIt.next();
System.out.println("Employee " + epm.getName() + " his age: " + epm.getAge());
}
}
}
package com.company;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
class SoccerPlayer implements Comparable<SoccerPlayer>{
private String name;
private String position;
private int age;
public SoccerPlayer(String name, String position, int age){
this.name = name;
this.position = position;
this.age = age;
}
public String getName(){
return this.name;
}
@Override
public int compareTo(SoccerPlayer player){
return name.compareTo(player.getName());
}
}
public class Main {
private static final Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
ArrayList<String> sportsList = new ArrayList<String>();
sportsList.add("Soccer");
sportsList.add("Baseball");
sportsList.add("Tennis");
sportsList.add("Ski");
Collections.sort(sportsList);
for(int i=0; i<sportsList.size(); i++){
System.out.println(sportsList.get(i)+ "");
// 순서대로 나간다
}
ArrayList<SoccerPlayer> playerList = new ArrayList<SoccerPlayer>();
SoccerPlayer player1 = new SoccerPlayer("메시", "공격수", 23);
SoccerPlayer player2 = new SoccerPlayer("호날두", "공격수", 25);
SoccerPlayer player3 = new SoccerPlayer("줄라탄", "공격수", 26);
SoccerPlayer player4 = new SoccerPlayer("박지성", "미드필더", 30);
SoccerPlayer player5 = new SoccerPlayer("오스카", "미드필더", 21);
SoccerPlayer player6 = new SoccerPlayer("기안", "공격수", 33);
playerList.add(player1);
playerList.add(player2);
playerList.add(player3);
playerList.add(player4);
playerList.add(player5);
playerList.add(player6);
Collections.sort(playerList);
for(int i=0; i<playerList.size(); i++){
System.out.println(playerList.get(i).getName());
}
}
}
```
참고 site: http://mainia.tistory.com/2323 [녹두장군 - 상상을 현실로] http://vaert.tistory.com/107 [Vaert Street] https://m.blog.naver.com/PostView.nhn?blogId=blueday9404&logNo=110181765204&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F https://www.hackerrank.com/challenges/java-negative-subarray/problem
https://examples.javacodegeeks.com/core-java/util/set/java-sorted-set-example/ [SortedSet과 Treeset의 참고자료]