
Java基本構文と制御構造 課題集 (全30問)
初級問題 (9問) 基本構文とデータ型 中級問題 (15問) 制御構造 配列と制御構造 上級問題 (6問) 解答例 初級問題の解答 int age = 25; […]
List list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
List numbers = new LinkedList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
Set set = new HashSet<>();
set.add("A");
set.add("B");
set.add("A"); // 重複
System.out.println(set); // [A, B] のみ表示
Map map = new HashMap<>();
map.put("John", 25);
map.put("Alice", 30);
map.put("Bob", 28);
List fruits = Arrays.asList("Apple", "Banana", "Orange");
String fruit = fruits.get(1); // "Banana"を取得
Set colors = new HashSet<>(Arrays.asList("Red", "Green", "Blue"));
boolean containsBlue = colors.contains("Blue"); // true
Map ages = new HashMap<>();
ages.put("John", 25);
int johnsAge = ages.get("John"); // 25
List numbers = Arrays.asList(1, 2, 3, 4, 5);
int size = numbers.size(); // 5
List languages = Arrays.asList("Java", "Python", "C++");
for (String lang : languages) {
System.out.println(lang);
}
List numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 1, 2));
Collections.sort(numbers);
System.out.println(numbers); // [1, 2, 3, 5, 8]
class Person {
String name;
int age;
// コンストラクタ、ゲッター等は省略
}
List people = new ArrayList<>();
// peopleに要素を追加...
Collections.sort(people, Comparator.comparingInt(p -> p.age));
Map map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
for (Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
List listWithDuplicates = Arrays.asList("A", "B", "A", "C");
Set set = new HashSet<>(listWithDuplicates);
System.out.println(set); // [A, B, C]
List list = new LinkedList<>(Arrays.asList("A", "B", "C"));
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
List numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
Map scores = new HashMap<>();
scores.put("John", 80);
scores.put("Alice", 90);
scores.put("John", 85); // Johnのスコアを更新
List> matrix = new ArrayList<>();
matrix.add(Arrays.asList(1, 2, 3));
matrix.add(Arrays.asList(4, 5, 6));
matrix.add(Arrays.asList(7, 8, 9));
List immutableList = Arrays.asList("A", "B", "C");
// immutableList.add("D"); // UnsupportedOperationExceptionが発生
List original = new ArrayList<>(Arrays.asList("A", "B", "C"));
List copy = new ArrayList<>(original);
List names = Arrays.asList("John", "Alice", "Bob");
names.sort((a, b) -> a.compareTo(b));
List numbers = Arrays.asList(1, 2, 3);
List doubled = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
Map ages = new HashMap<>();
ages.put("John", 25);
ages.put("Alice", 30);
ages.put("Bob", 17);
Map adults = ages.entrySet().stream()
.filter(entry -> entry.getValue() >= 20)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Map sortedMap = new TreeMap<>();
sortedMap.put("Orange", 2);
sortedMap.put("Apple", 5);
sortedMap.put("Banana", 3);
// キーで自動ソートされる
// キューとして使用
Queue queue = new LinkedList<>();
queue.offer("A");
queue.offer("B");
String first = queue.poll(); // A
// スタックとして使用
Deque stack = new LinkedList<>();
stack.push("A");
stack.push("B");
String top = stack.pop(); // B
class Person {
String name;
int age;
// コンストラクタ、ゲッター等は省略
}
class AgeComparator implements Comparator {
@Override
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
List people = new ArrayList<>();
// peopleに要素を追加...
Collections.sort(people, new AgeComparator());
List list = new CopyOnWriteArrayList<>();
list.add("A");
list.add("B");
// マルチスレッド環境で安全に操作可能
enum Day { MONDAY, TUESDAY, WEDNESDAY }
Map schedule = new EnumMap<>(Day.class);
schedule.put(Day.MONDAY, "Meeting");
schedule.put(Day.TUESDAY, "Gym");
Map
List list = Collections.synchronizedList(new ArrayList<>());
// マルチスレッド環境で使用する場合
synchronized (list) {
Iterator i = list.iterator();
while (i.hasNext()) {
String item = i.next();
// 処理...
}
}
class RangeList extends AbstractList {
private final int start;
private final int end;
public RangeList(int start, int end) {
this.start = start;
this.end = end;
}
@Override
public Integer get(int index) {
if (index < 0 || index >= size()) {
throw new IndexOutOfBoundsException();
}
return start + index;
}
@Override
public int size() {
return end - start + 1;
}
}
List range = new RangeList(5, 10);
System.out.println(range); // [5, 6, 7, 8, 9, 10]