Java

スポンサーリンク
Java

Java | Java 詳細・モダン文法:ジェネリクス – 型パラメータの宣言

「型パラメータの宣言」を一言でいうと型パラメータの宣言は、「クラスやメソッドの“名前の横に” <T> などを書いて、ここには後で具体的な型をはめ込みますよ、と宣言すること」です。class Box<T...
Java

Java | Java 詳細・モダン文法:ジェネリクス – ジェネリクスとは

ジェネリクスを一言でいうとジェネリクス(generics)は、「クラスやメソッドの中に “型の穴” を開けておいて、使うときにその穴に好きな型をはめられる仕組み」です。List<String> や M...
Java

Java | 1 日 120 分 × 7 日アプリ学習:初級編

この初級編7日間プランの全体像この「1 日 120 分 × 7 日・初級編」は、あなたがすでにmain メソッド変数・if・forメソッド配列など「超初級」で触った前提で、そこから一段階レベルを上げる...
Java

Java | 1 日 60 分 × 7 日アプリ学習:超初級編

この7日間プランの全体像このプランは「Java はまったく初めて」「プログラミングもほぼ初めて」という人を想定しています。毎日 60 分 × 7 日で、コンソール(黒い画面)で動く小さなアプリを作れる...
Java

Java | Java 標準ライブラリ:CompletableFuture 基礎

CompletableFuture を一言でいうとCompletableFuture は、「将来終わる“非同期の計算結果”を表す箱(Future)に対して、『終わったらこれをして、その後これをして…』...
Java

Java | Java 標準ライブラリ:Future

Future を一言でいうとjava.util.concurrent.Future は、「別スレッドで走っている“将来の計算結果”を受け取るための“約束の箱”」です。時間のかかる処理を Executo...
Java

Java | Java 標準ライブラリ:ExecutorService 概要

ExecutorService を一言でいうとExecutorService は、「スレッドを自分で new せずに、”仕事(タスク)だけ” を投げれば、いい感じに別スレッドで実行してくれる仕組み」で...
Java

Java | Java 標準ライブラリ:Timer / TimerTask

Timer / TimerTask を一言でいうとTimer と TimerTask は、「指定した時間後に、あるいは一定間隔で、“別スレッドで” 処理を実行してくれるシンプルなタイマー機能」です。「...
Java

Java | Java 標準ライブラリ:Base64

Base64 を一言でいうとjava.util.Base64 は、「バイナリデータ(画像・PDF・任意のバイト列)を、テキスト(英数字+記号)だけで安全にやり取りできるように変換するためのクラス」です...
Java

Java | Java 標準ライブラリ:UUID

UUID を一言でいうとjava.util.UUID は、「ほぼ絶対に重ならない“ランダムな ID” を簡単に作るためのクラス」です。データベースの主キー、ファイル名、トークン、セッションID など、...
Java

Java | Java 標準ライブラリ:Locale

Locale を一言でいうとjava.util.Locale は「このユーザー(or この処理)は、どの言語・どの国・どの地域のルールで動けばいいのか」を表すための“タグ”です。英語なら en、日本語...
Java

Java | Java 標準ライブラリ:ResourceBundle

ResourceBundle を一言でいうとjava.util.ResourceBundle は、「画面メッセージや文言を、言語ごと・国ごとに切り替えるための仕組み」です。アプリのソースコードに日本語...
Java

Java | Java 標準ライブラリ:Properties クラス

Properties クラスを一言でいうとjava.util.Properties は、「文字列のキーと文字列の値を、設定ファイル的に管理するためのクラス」です。ざっくり言うと、Map<String,...
Java

Java | Java 標準ライブラリ:StackTrace の読み方

StackTrace を一言でいうとStackTrace(スタックトレース)は、「例外が発生したときに、そのときの『呼び出し履歴』を上から順に全部並べたもの」です。どのクラスの、どのメソッドの、どの行...
Java

Java | Java 標準ライブラリ:RuntimeException を使う判断

RuntimeException を一言でいうとRuntimeException は、「“呼び出し側に明示的な例外処理を強制したくはないが、異常はちゃんと知らせたい” ときに使う例外の親クラス」です。...
Java

Java | Java 標準ライブラリ:カスタム例外

カスタム例外を一言でいうと「カスタム例外」は、自分のアプリやライブラリ専用の例外クラスを新しく定義して、エラーの意味を分かりやすく、扱いやすくするためのものです。NullPointerExceptio...
Java

Java | Java 標準ライブラリ:非チェック例外

非チェック例外を一言でいうと「非チェック例外(unchecked exception)」は、“コンパイラが try-catch や throws 宣言を強制してこない例外”かつ“たいていはプログラマー...
Java

Java | Java 標準ライブラリ:チェック例外

チェック例外を一言でいうと「チェック例外(checked exception)」は、“この失敗は普通に起こりうるから、呼び出し側でちゃんと対処を考えろ” とコンパイラが迫ってくる例外です。ファイルがな...
Java

Java | Java 標準ライブラリ:例外階層構造

例外階層構造を一言でいうとJava の「例外階層構造」は、「エラーの種類を、親子関係(クラスの継承)で整理した“族譜”」です。この“族譜”を理解しておくと、どの例外をキャッチすべきかどこで throw...
Java

Java | Java 標準ライブラリ:NIO と IO の違い

「IO」と「NIO」をざっくり一言でいうとまず一番上のイメージだけ先に置きます。従来の java.io は、「ストリームを通して、データを順番に流す I/O(線でつながったイメージ)」java.nio...
Java

Java | Java 標準ライブラリ:BufferedWriter

BufferedWriter を一言でいうとBufferedWriter は、「文字をいったんバッファ(メモリ)に貯めてから、まとめて出力ストリームに書き込むことで、高速にテキストを書き込むためのクラ...
Java

Java | Java 標準ライブラリ:BufferedReader

BufferedReader を一言でいうとBufferedReader は、「文字をまとめて内部バッファに貯めながら、“行単位で”効率よく読み取るための Reader」です。ファイルやネットワークか...
Java

Java | Java 標準ライブラリ:try-with-resources

try-with-resources を一言でいうとtry-with-resources は、「使い終わったら必ず close() しなきゃいけないものを、自動で確実に閉じてくれる try 文の書き方...
Java

Java | Java 標準ライブラリ:Files.copy

Files.copy を一言でいうとFiles.copy は、「ファイル(またはディレクトリ)の中身を、別の場所にコピーするためのメソッド」です。「あるパスのものを、別のパスへコピーしたい」「入力スト...
Java

Java | Java 標準ライブラリ:Files.lines

Files.lines を一言でいうとFiles.lines は、「テキストファイルを 1 行ずつ“ストリームとして”読み出すためのメソッド」です。Files.readAllLines が「全部いっぺ...
Java

Java | Java 標準ライブラリ:Files.readAllLines

Files.readAllLines を一言でいうとFiles.readAllLines は、「テキストファイルを“まるごと読み込んで”、1行ずつ List<String> にして返してくれるメソッド...
Java

Java | Java 標準ライブラリ:Path / Paths

Path / Paths をざっくり一言でいうとPath は、「ファイルやディレクトリまでの“道順(パス)”を表すオブジェクト」です。Paths は、「Path を作るための “工場(ファクトリ)クラ...
Java

Java | Java 標準ライブラリ:File クラス

File クラスをざっくり一言でいうとjava.io.File は、「ディスク上の “ファイル or ディレクトリ” を指し示すための “住所カード”」です。ここがとても大事で、File 自体は「中身...
Java

Java | Java 標準ライブラリ:ファイル入出力概要

Java のファイル入出力をざっくり一言でいうとJava の「ファイル入出力(I/O)」は、「ディスク上のファイルに、プログラムから文字やバイトを読み書きするための仕組み」です。初心者のうちに、まず次...
Java

Java | Java 標準ライブラリ:Period と Duration

Period と Duration をざっくり一言でいうとPeriod と Duration は、どちらも「時間の長さ」を表すクラスですが、何を基準にしているかがまったく違います。Period … 年...
Java

Java | Java 標準ライブラリ:DateTimeFormatter

DateTimeFormatter をざっくり一言でいうとDateTimeFormatter は、「LocalDate / LocalTime / LocalDateTime / ZonedDateT...
Java

Java | Java 標準ライブラリ:ZonedDateTime

ZonedDateTime をざっくり一言でいうとZonedDateTime は、「日付(年・月・日)+時刻(時・分・秒)+タイムゾーン」をまとめて表現するクラスです。LocalDateTime が「...
Java

Java | Java 標準ライブラリ:LocalDateTime

LocalDateTime をざっくり一言でいうとLocalDateTime は、「日付(年・月・日)+時刻(時・分・秒)」を、タイムゾーンなしで表すクラスです。LocalDate が「日付だけ」Lo...
Java

Java | Java 標準ライブラリ:LocalTime

LocalTime をざっくり一言でいうとLocalTime は、「日付もタイムゾーンもいらない、“純粋な時刻(時・分・秒だけ)”」を表すクラスです。朝 9 時に開店、12 時に休憩開始、18 時に閉...
Java

Java | Java 標準ライブラリ:LocalDate

LocalDate をざっくり一言でいうとLocalDate は、「タイムゾーンも時刻も持たない、“純粋な日付(年・月・日だけ)”」をあつかうためのクラスです。誕生日、締切日、営業日、請求日など、「そ...
Java

Java | Java 標準ライブラリ:Date の問題点

なぜ「Date の問題点」を知っておくべきかJava の古い日付・時刻 API(java.util.Date / java.util.Calendar)は、長年「バグを生みやすい」「直感とズレている」...
Java

Java | Java 標準ライブラリ:parallelStream の注意点

parallelStream を一言でいうと何かparallelStream() は、「Stream の処理を、CPU の複数コアを使って“自動で並列実行してくれるモード”」です。list.strea...
Java

Java | Java 標準ライブラリ:Stream の再利用不可性

Stream が「再利用できない」ってどういうことかまず結論から言うと、Java の Stream は「一度“流して”終端操作を呼んだら、そのストリームは二度と使えない(使い捨て)」という性質を持って...
Java

Java | Java 標準ライブラリ:Stream の遅延評価

「遅延評価」をざっくりイメージするまず感覚から固めます。Stream の「遅延評価(lazy evaluation)」とは、「stream().filter().map() と“パイプラインを組み立て...
Java

Java | Java 標準ライブラリ:Optional と Stream の併用

なぜ「Optional と Stream の併用」が話題になるのかOptional と Stream、どちらも「null を避けつつ、宣言的に書く」ための道具です。でも実務でコードを書き始めると、こう...
Java

Java | Java 標準ライブラリ:joining

joining をざっくり一言でいうとCollectors.joining は、「Stream の中の文字列たちを、1 本の文字列に“つなげて”まとめるための Collector」です。collect...
Java

Java | Java 標準ライブラリ:groupingBy

groupingBy をざっくり一言でいうとCollectors.groupingBy は、「Stream の要素を、ある“キー”ごとにグループ分けして Map にまとめる ための仕組み」です。イメー...
Java

Java | Java 標準ライブラリ:Collectors.toList

Collectors.toList をざっくり一言でいうとCollectors.toList() は、「Stream の結果を List に集め直すための“まとめ方テンプレ”」です。stream()....
Java

Java | Java 標準ライブラリ:collect

collect の役割をざっくりイメージするStream の collect は一言でいうと、「ストリームの“流れ”を、最終的な入れ物や形(List・Set・Map・1つの値など)にまとめる操作」です...
Java

Java | Java 標準ライブラリ:flatMap

flatMap をざっくりイメージするまず、一番大事な感覚から。map は「1つの要素 → 1つの値」に変換する操作でした。flatMap は「1つの要素 → 0個以上の“複数要素”」に変換して、最後...
Java

Java | Java 標準ライブラリ:filter 操作

filter 操作をざっくりイメージするStream の filter は、一言でいうと「流れてくる要素の中から、条件に合うものだけを通し、合わないものを捨てる 操作」です。大事なポイントはこの 3 ...
Java

Java | Java 標準ライブラリ:map 操作

「map 操作」をざっくりイメージするStream の map は、一言でいうと「流れてくる要素を、別の値に変換して流し直す 操作」です。元の要素数は変えない1 個入ったら、必ず 1 個出てくる「中身...
Java

Java | Java 標準ライブラリ:Stream の生成

「Stream の生成」をざっくりイメージするStream API の最初の一歩は、「そもそも Stream をどうやって作るか」です。filter や map は、その前に「Stream がある」こ...
Java

Java | Java 標準ライブラリ:Stream API 概要

Stream API をざっくりイメージするまず感覚から先に。Stream API は、「配列やコレクションなど“データの列”に対して、 “何をしたいか”を宣言的に書けるパイプライン」です。for 文...
Java

Java | Java 標準ライブラリ:Collections.unmodifiableList

Collections.unmodifiableList の役割をざっくりつかむCollections.unmodifiableList は、「この List、“見たり読むのはいいけど、書き換えは禁止...
Java

Java | Java 標準ライブラリ:Collections.sort

Collections.sort の役割をざっくりつかむCollections.sort は、「List の中身を並び替えるための標準メソッド」です。配列には Arrays.sort がありましたよね...
Java

Java | Java 標準ライブラリ:Comparable

Comparable をざっくりイメージするまず一言でまとめると、Comparable は「このクラスの“標準の並び順”はこうです」と自分自身で宣言するためのインターフェースです。String なら「...
Java

Java | Java 標準ライブラリ:Comparator

Comparator の役割をざっくりイメージするComparator は一言でいうと、「オブジェクト同士を“どういう順番で並べるか”を後付けで教えるためのオブジェクト」です。int や String...
Java

Java | Java 標準ライブラリ:ConcurrentModificationException

ConcurrentModificationException をまず感覚でつかむConcurrentModificationException は、Java のコレクションを使っているときに、かなり...
Java

Java | Java 標準ライブラリ:for-each の内部動作

for-each 文をまず感覚でつかむJava の for-each(拡張 for 文)は、こういう書き方のやつです。for (String name : names) { System.out.pr...
Java

Java | Java 標準ライブラリ:イテレータ

イテレータって何者かをざっくりイメージするまず感覚からいきます。イテレータ(Iterator)は、「コレクションの中身を、順番に“たどる”ための共通ルール」です。ArrayList でも HashSe...
Java

Java | Java 標準ライブラリ:コレクションの初期容量

「コレクションの初期容量」ってそもそも何?まずことばの整理からいきます。ArrayList や HashMap などのコレクションは、内部で「ある程度まとめてメモリを確保してから」そこに要素を入れてい...
Java

Java | Java 標準ライブラリ:コレクションの null 許容

「コレクションは null を入れていいのか?」という全体像Java のコレクションで初心者が一番ハマるポイントの一つが、「null を入れていいのか・ダメなのかがバラバラ」ということです。Array...
Java

Java | Java 標準ライブラリ:TreeMap

TreeMap をざっくりイメージするまず一言でいうと、TreeMap は「キーで常にソートされた順番を保ってくれる Map」です。HashMap は「キー → 値」を高速に扱えるけれど、キーの順番は...
Java

Java | Java 標準ライブラリ:LinkedHashMap

LinkedHashMap をざっくりイメージするまず、すごくラフに言うと「順番を覚えてくれる HashMap」が LinkedHashMap です。HashMap は「キー → 値」を高速に扱える代...
スポンサーリンク