java.utilパッケージ
Randomクラス
Random.nextInt()
0からパラメータで受信した数値(-1)までのランダムな整数を作成
import java.util.Random;
public class RandomTest1 {
public static void main(String[] args) {
Random random = new Random();
System.out.println("[ 학생들의 시험 유형 ]");
for (int i = 1; i <= 10; i++) {
System.out.print(i + "번 학생의 시험 유형 : ");
int examType = random.nextInt(5) + 1;
switch (examType) {
case 1 :
System.out.println("A");
break;
case 2 :
System.out.println("B");
break;
case 3 :
System.out.println("C");
break;
case 4 :
System.out.println("D");
break;
case 5 :
System.out.println("E");
}
}
}
}
Arraysクラス
1. Arrays.sort()
int[] arr = {3, 4, 76, 12, 44, 5, 8}; // int 오름차순
String[] arr2 = {"q", "j", "s", "f"}; // String 오름차순
Arrays.sort(arr);
Arrays.sort(arr2);
2. Arrays.sort(arr2 ,Collections.reverseOrder());
Integer[] arr3 = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Arrays.sort(arr3, Collections.reverseOrder());
3. Arrays.sort( , )
Arrays.sort(arr, 1, 3);
Arrays.sort(arr, 1, 3, Collections.reverseOrder());
4. Arrays.copyOf( , )
private static int[] copyOf(int[] scoreList, int length) {
int[] copyList = new int[length]; // length 길이 만큼의 배열 생성
for (int i = 0; i < scoreList.length; i++) {
copyList[i] = scoreList[i]; // scoreList -> copyList 복사
}
return copyList;
}
int[] scoreList = {83, 74, 65, 99, 92};
Arrays.sort(scoreList);
int[] copyList = Arrays.copyOf(scoreList, 10);
for (int score : copyList) {
System.out.print("[" + score + "] ");
}
StringTokenizerクラス
知らなくてもいいです.
文字列を&で区切る(&=タグ)
Stringクラスのsplitと同じ
Date,Calendarクラス
calender:マルチ情報出力→簡潔(使いにくい)
import java.util.Calendar;
import java.util.Date;
public class DateTest1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
// Fri Oct 08 17:38:53 KST 2021
Calendar currentDate = Calendar.getInstance();
System.out.println(currentDate.toString());
// java.util.GregorianCalendar[time=1633682333978,areFieldsSet
//=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.
//ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,
//useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek
//=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MONTH=9,
//WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,DAY_OF_MONTH=8,DAY_OF_YEAR=281
//,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=5,
//HOUR_OF_DAY=17,MINUTE=38,SECOND=53,MILLISECOND=978,ZONE_OFFSET
//=32400000,DST_OFFSET=0]
}
}
ArrayListクラス
< List < Collection
1.収集の概要
配列の最大の欠点は、長さが固定されていること→新しい配列の作成を継続する必要があること、メモリの浪費→集合の出現(list、set、map)-より多く、最も重要な3種類(マルチインタフェース)
2.特徴
(11番目のデータを追加する場合、10個、合計20個の記憶領域を自動的に増加)
void add(Object abj) { }
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ListTest1 {
public static void main(String[] args) {
List objectList = new ArrayList(); //10개 빈공간 디폴트
objectList.add(93);
objectList.add(Double.valueOf(85.7));
objectList.add(new Date());
//add의 매개변수 타입 object -> Object로 타입 바뀌어서 들어감 (업캐스팅)
Integer intData = (Integer) objectList.get(0);
System.out.println(intData.toString());
Double doubleData = (Double) objectList.get(1);
System.out.println(doubleData.toString());
Date dateData = (Date) objectList.get(2);
System.out.println(dateData.toString());
}
}
オブジェクトタイプとして受信する場合、オブジェクトクラスのメソッドとメンバー変数のみが使用可能になるため、明示的に使用に変換できます.
->Integerクラスが提供するメソッドが使用可能(サブクラスにはより多くの変数とメソッドが含まれています)
3. Generic
// 요즘방식 제너릭
public class ListTest1 {
public static void main(String[] args) {
List<Integer> scoreList = new ArrayList<Integer>();
scoreList.add(Integer.valueOf(83));
scoreList.add(Integer.valueOf(69));
scoreList.add(Integer.valueOf(92));
scoreList.add(new Date()); //에러
scoreList.add(new String("Test")); //에러
for (Integer score : scoreList) {
System.out.println(score.intValue());
}
}
}
List<Student> studentList = new ArrayList<Student>(3);
→4番目のオブジェクトを入れると、配列が10個に増える→4番目のオブジェクトを入れる場合、size()=4
4.ArrayListメソッド
方法説明size():intオブジェクトのカウント戻り追加(Object obj):booleanは特定のオブジェクトを登録し、成功した場合true、失敗した場合falseはget(int index):Objectindexの位置にあるオブジェクトを削除し、削除オブジェクトはremove(Object obj):boolean特定のオブジェクトを削除し、成功した場合true、失敗した場合falsecontains(Object obj):boolean固有のオブジェクトが存在するかどうかを確認します.オブジェクトが存在する場合はtrueを返し、オブジェクトが存在しない場合はfalseを返します.
List<Integer> scoreList = new ArrayList<Integer>(3);
scoreList.add(Integer.valueOf(83));
scoreList.add(Integer.valueOf(68));
scoreList.add(Integer.valueOf(92));
scoreList.add(Integer.valueOf(100));
System.out.println(scoreList.get(1)); // 68
scoreList.remove(1);
scoreList.contains(Integer.valueOf(68))); // false
System.out.println(scoreList.size()); // 3
System.out.println(scoreList.get(1)); // 92 (땡김)
5.ArrayList例
import java.util.ArrayList;
import java.util.List;
public class ListTest3 {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<Student>(); // 업캐스팅
Student kim = new Student("STD-000001", "김둘리", 83, "컴퓨터 공학");
studentList.add(kim);
studentList.add(new Student("STD-000002", "박또치", 100, "컴퓨터 공학"));
studentList.add(new Student("STD-000003", "도우너", 75, "기계 공학"));
studentList.add(new Student("STD-000004", "마이콜", 49, "산업 공학"));
studentList.add(new Student("STD-000004", "마이콜", 49, "산업 공학"));
System.out.println("[ 학생 목록 ]");
for (Student student : studentList) {
System.out.println(student.toString());
}
int sum = 0;
int count = 0;
for (Student student : studentList) {
if(student.getMajor().equals("컴퓨터 공학")) {
sum = sum + student.getScore();
count++;
}
}
System.out.println("컴퓨터 공학 평균 점수 : " + (double) sum/count);
System.out.println("[ 80점 이상의 고득점자 현황 ]");
for (Student student : studentList) {
if(student.getScore() >= 80) {
System.out.println(student.toString());
}
}
}
}
HashSetクラス
< Set < Collection
import java.util.ArrayList;
import java.util.List;
public class ListTest3 {
public static void main(String[] args) {
HashSet<Student> studentList = new HashSet<Student>();
Student kim = new Student("STD-000001", "김둘리", 83, "컴퓨터 공학");
studentList.add(kim);
//위 두줄을 아래 한줄로 가능
studentList.add(new Student("STD-000002", "박또치", 100, "컴퓨터 공학"))
studentList.add(new Student("STD-000003", "도우너", 75, "기계 공학"));
studentList.add(new Student("STD-000004", "마이콜", 49, "산업 공학"));
studentList.add(new Student("STD-000004", "마이콜", 49, "산업 공학"));
System.out.println("[ 학생 목록 ]");
for (Student student : studentList) {
System.out.println(student.toString());
}
}
}
import java.util.Objects;
public class Student {
...
@Override
public int hashCode() {
return Objects.hash(major, name, score, studentNo);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
return Objects.equals(major, other.major)
&& Objects.equals(name, other.name) && score == other.score
&& Objects.equals(studentNo, other.studentNo);
}
@Override
public String toString() {
return "Student [studentNo=" + studentNo + ", name=" + name + ", score="
+ score + ", major=" + major + "]";
}
}
HashMapクラス
< Map
(鍵、価値のあるタイプを指定可能)
作成したオブジェクトを参照変数に配置せず、メソッドのパラメータとして直接使用します
import java.util.HashMap;
import java.util.Map;
public class MapTest1 {
public static void main(String[] args) { //키, 밸류의 타입 제너릭
Map<String, Student> studentList = new HashMap<String, Student>();
Student kim = new Student("STD-000001", "김둘리", 83, "컴퓨터 공학");
studentList.put("STD-000001", kim); // 저장
// 위 두줄을 한줄로 가능
studentList.put("STD-000002",
new Student("STD-000002", "박또치", 100, "컴퓨터 공학"));
studentList.put("STD-000003",
new Student("STD-000003", "도우너", 75, "기계 공학"));
System.out.println("[ STD-000002 학생의 정보]");
System.out.println(studentList.get("STD-000002")); // 검색
}
}
キーリスト、バリューリストのみをポップアップできます
Mapには親がいないのではないでしょうか??祖先が違うと角を選ばれないでしょう?
System.out.println("[ 학번(studentNo) 목록 ]");
Set<String> keyList = studentList.keySet(); //Map->Set???
for (String studentNo : keyList) {
System.out.println(studentNo.toString());
}
System.out.println("[ 학생 목록 ]");
Collection<Student> valueList = studentList.values();
for (Student student : valueList) {
System.out.println(student.toString());
}
HashTableクラス
< HashMap < Map
import java.util.Collection;
import java.util.Hashtable;
import java.util.Map;
public class MapTest3 {
public static void main(String[] args) { // 업캐스팅
Map<String, Student> studentList = new Hashtable<String, Student>();
Student kim = new Student("STD-000001", "김둘리", 83, "컴퓨터 공학");
studentList.put("STD-000001", kim);
studentList.put("STD-000002",
new Student("STD-000002", "박또치", 100, "컴퓨터 공학"));
studentList.put("STD-000003",
new Student("STD-000003", "도우너", 75, "기계 공학"));
studentList.put("STD-000003",
new Student("STD-000003", "고길동", 31, "국어 국문"));
// STD-000001 데이터 삭제
studentList.remove("STD-000001");
System.out.println("[ 학생 목록 ]");
Collection<Student> valueList = studentList.values();
for (Student student : valueList) {
System.out.println(student.toString());
}
}
}
Reference
この問題について(java.utilパッケージ), 我々は、より多くの情報をここで見つけました https://velog.io/@kangnang/java.util-패키지テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol