Java集合練習問題
7693 ワード
一.1~20の重複しない乱数を10個生成
分析プロセス:
1.乱数を生成するにはRandomクラスが必要
2.重複できない数を10個保存する必要があり、HashSetセットが必要です(現在のTreeSetはまだ学習していません)
3.HashSetのSizeが10未満の場合は乱数を格納し、格納要素の追加を停止する
4.ランダム数をRandomのnextInt()メソッドで取得しHashSetに加える
5.HashSetを巡り、10個の乱数を印刷する
キーボードから1行の入力文字列を取得し、重複文字を除去する必要があります.
分析プロセス:
1.Scannerクラスの使用が必要
2.1行の文字列を入力し、文字配列に変換する必要があります
3.HashSetコレクションオブジェクトを作成する(HashSetが同じ要素を保存できない特性で重複文字を削除する目的)
4.文字配列要素を巡回し、HashSetセットに追加
5.変数集合要素
シーケンスリストArrayListに格納されている要素が整数値1~5であると仮定し、各要素を巡り、各要素を順次出力する.(list集合遍歴方法まとめ)
3、一つのリストに以下の要素を保存する:apple,grape,banana,pear•3.1は集合の中の最大と最小の要素を返す•3.2は集合を並べ替えて、並べ替えた結果をコンソールに印刷する
プログラムを記述し、コマンドラインパラメータの文字列リストを取得し、重複する文字、重複しない文字、および重複後の文字リストを削除します.
Scannerを使用してコンソールから文字列を読み出し、文字列の中で各文字が出現した回数を統計し、学習した知識を使用して以上の要求を達成することを要求し、Set、List、Map集合の特性に基づいて構想を実現する.
//属性id[1-30]、grade[1-6]、score[0-100]を含むStudioクラスを書きます.すべての属性はランダムに生成されます//Setセットを作成し、20個のオブジェクトを保存します.2つのオブジェクトのidが同じであれば、追加は許可されません.//反復器を用いて集合を遍歴し、出力対象の情報を印刷し、点数が最も高い同級生と点数が最も低い同級生を探し出し、最後に最高点数と最低点数の同級生情報を印刷出力する.
分析プロセス:
1.乱数を生成するにはRandomクラスが必要
2.重複できない数を10個保存する必要があり、HashSetセットが必要です(現在のTreeSetはまだ学習していません)
3.HashSetのSizeが10未満の場合は乱数を格納し、格納要素の追加を停止する
4.ランダム数をRandomのnextInt()メソッドで取得しHashSetに加える
5.HashSetを巡り、10個の乱数を印刷する
package hashset;
import java.util.HashSet;
import java.util.Random;
public class Test1_HashSet {
public static void main(String[] args) {
//1. Random
Random r = new Random();
//2. HashSet
HashSet hs = new HashSet<>(); // int
//3.
while(hs.size()< 10) {
//4. Random nextInt() 1 20
hs.add(r.nextInt(20) + 1); // 1, 0 19
}
//5. HashSet
for (Integer integer : hs) {
System.out.println(integer);
}
}
}
キーボードから1行の入力文字列を取得し、重複文字を除去する必要があります.
分析プロセス:
1.Scannerクラスの使用が必要
2.1行の文字列を入力し、文字配列に変換する必要があります
3.HashSetコレクションオブジェクトを作成する(HashSetが同じ要素を保存できない特性で重複文字を削除する目的)
4.文字配列要素を巡回し、HashSetセットに追加
5.変数集合要素
package hashset;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import javax.swing.plaf.synth.SynthSpinnerUI;
public class Test2_HashSet {
public static void main(String[] args) {
//1.
Scanner sc = new Scanner(System.in);
System.out.println(" :");
String line = sc.nextLine();
//2.
char[] c = line.toCharArray();
//3. , HashSet
HashSet hs = new HashSet<>();
//4. ,
for (int i = 0; i < c.length; i++) {
hs.add(c[i]);
}
//5. HashSet
for (Character character : hs) {
System.out.println(character);
}
}
}
シーケンスリストArrayListに格納されている要素が整数値1~5であると仮定し、各要素を巡り、各要素を順次出力する.(list集合遍歴方法まとめ)
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// ArrayList 1~5, , 。 [ ]
public class MyArray {
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
Iterator it = list.iterator();
//
while(it.hasNext()){
System.out.println(it.next());
}
// for
for(int i = 0;i
3、一つのリストに以下の要素を保存する:apple,grape,banana,pear•3.1は集合の中の最大と最小の要素を返す•3.2は集合を並べ替えて、並べ替えた結果をコンソールに印刷する
import java.util.ArrayList;
import java.util.List;
//3、 :
//apple,grape,banana,pear
//• 3.1
//• 3.2 , [
public class MyScort {
public static void main(String[] args) {
List list = new ArrayList();
list.add("apple");
list.add("grape");
list.add("banana");
list.add("pear");
for(int j = 0;j0){
String temp = list.get(i);
list.set(i, list.get(i+1));
list.set(i+1, temp);
}
}
}
System.out.print(" :");
for(int i = 0;i
プログラムを記述し、コマンドラインパラメータの文字列リストを取得し、重複する文字、重複しない文字、および重複後の文字リストを削除します.
public static void main(String[] args) {
String str = "abcdeafblmbnopawc";
System.out.println(" :"+str);
Set set1 = new HashSet();//
Set set2 = new HashSet();//
Set set3 = new HashSet();//
//
char[] cs = str.toCharArray();
for (char c : cs) {
boolean b = set1.add(c);
if(!b){
set2.add(c);
}
}
// set3
set3.addAll(set1);
// - =
set3.removeAll(set2);
System.out.println("==== ========");
for (char c : set1) {
System.out.print(c+" ");
}
System.out.println("
==== ========");
for (char c : set2) {
System.out.print(c+" ");
}
System.out.println("
==== ========");
for (char c : set3) {
System.out.print(c+" ");
}
}
Scannerを使用してコンソールから文字列を読み出し、文字列の中で各文字が出現した回数を統計し、学習した知識を使用して以上の要求を達成することを要求し、Set、List、Map集合の特性に基づいて構想を実現する.
public static void main(String[] args) {
String str = "abcdeblmbac";
System.out.println(" :"+str);
Map map = new HashMap();
char[] cs = str.toCharArray();
for (char c : cs) {
if(map.containsKey(c)){
Integer value = map.get(c);
value++;
map.put(c, value);
}else{
map.put(c, 1);
}
}
// map
Set set = map.keySet();
for (Character c : set) {
System.out.println(c+" "+map.get(c)+" ");
}
}
//属性id[1-30]、grade[1-6]、score[0-100]を含むStudioクラスを書きます.すべての属性はランダムに生成されます//Setセットを作成し、20個のオブジェクトを保存します.2つのオブジェクトのidが同じであれば、追加は許可されません.//反復器を用いて集合を遍歴し、出力対象の情報を印刷し、点数が最も高い同級生と点数が最も低い同級生を探し出し、最後に最高点数と最低点数の同級生情報を印刷出力する.
package Test;
import java.util.*;
// Student , id[1-30), grade[1-6], score[0-100],
// Set , 20 , id , .
// , , , .
public class Test13 {
public static void main(String[] args) {
Set set = new HashSet();
for (; set.size() != 20;) {
int id = (int) (Math.random() * 29 + 1);
int grade = (int) (Math.random() * 6 + 1);
double score = (int) (Math.random() * 1001) / 10.0;
set.add(new Student(id, grade, score));
}
for (Student student : set) {
System.out.println(student);
}
System.out.println("---------------------------");
Student maxScoreStudent = null;
Student minScoreStudent = null;
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
if (maxScoreStudent == null) {
maxScoreStudent = student;
minScoreStudent = student;
}
if (student.getScore() > maxScoreStudent.getScore()) {
maxScoreStudent = student;
}
if (student.getScore() < minScoreStudent.getScore()) {
minScoreStudent = student;
}
}
System.out.println(maxScoreStudent);
System.out.println(minScoreStudent);
}
}
class Student implements Comparable {
private int id;
private int grade;
private double score;
public Student() {
}
public Student(int id, int grade, double score) {
super();
this.id = id;
this.grade = grade;
this.score = score;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "Student [id=" + id + ", grade=" + grade + ", score=" + score + "]";
}
public int compareTo(Student o) {
return (int) (this.score - o.score);
}
}