teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

やはり余計なことだったので差し戻し

2017/05/03 02:45

投稿

yuba
yuba

スコア5570

answer CHANGED
@@ -1,14 +1,4 @@
1
1
  イテレータオブジェクトは元になったオブジェクトのことを見ています。
2
2
  具体的には「あのオブジェクトの、バージョン○○のときの○番目まで取り出した」という情報を格納しています。
3
3
 
4
- 元オブジェクトに改変が加わった時点で元オブジェクトは自身のバージョン番号を上げる(このバージョン番号という数値はパッケージローカールなので利用者からはアクセスできないものです)ので、イテレータは値を取り出そうとして「バージョン番号が違うじゃん!」と怒って例外を投げる、そんな仕組みです。
4
+ 元オブジェクトに改変が加わった時点で元オブジェクトは自身のバージョン番号を上げる(このバージョン番号という数値はパッケージローカールなので利用者からはアクセスできないものです)ので、イテレータは値を取り出そうとして「バージョン番号が違うじゃん!」と怒って例外を投げる、そんな仕組みです。
5
-
6
- ------
7
- (追記)
8
- 余計なこと書くべきではないと思ったけれどやはりJava Gold受けるという以上は初心者ではないので厳しいことも申し上げないといけないと思い直しました。
9
- 何を言うのかというと、この程度の疑問は自分でJDKのソースを読んで解決できてこその「Java Gold」かと思いますという点です。ソースは公開されているのですから。
10
-
11
- ソースにアクセスする方法がわかりませんか?
12
- 1. IntelliJ IDEAをインストールする
13
- 2. 適当なJavaプロジェクトを作って、適当に「new TreeSet().iterator()」と書く。
14
- 3. 「iterator」のところをctrl+クリック(Macなら⌘+クリック)

1

ソースを読みましょう

2017/05/03 02:45

投稿

yuba
yuba

スコア5570

answer CHANGED
@@ -1,4 +1,14 @@
1
1
  イテレータオブジェクトは元になったオブジェクトのことを見ています。
2
2
  具体的には「あのオブジェクトの、バージョン○○のときの○番目まで取り出した」という情報を格納しています。
3
3
 
4
- 元オブジェクトに改変が加わった時点で元オブジェクトは自身のバージョン番号を上げる(このバージョン番号という数値はパッケージローカールなので利用者からはアクセスできないものです)ので、イテレータは値を取り出そうとして「バージョン番号が違うじゃん!」と怒って例外を投げる、そんな仕組みです。
4
+ 元オブジェクトに改変が加わった時点で元オブジェクトは自身のバージョン番号を上げる(このバージョン番号という数値はパッケージローカールなので利用者からはアクセスできないものです)ので、イテレータは値を取り出そうとして「バージョン番号が違うじゃん!」と怒って例外を投げる、そんな仕組みです。
5
+
6
+ ------
7
+ (追記)
8
+ 余計なこと書くべきではないと思ったけれどやはりJava Gold受けるという以上は初心者ではないので厳しいことも申し上げないといけないと思い直しました。
9
+ 何を言うのかというと、この程度の疑問は自分でJDKのソースを読んで解決できてこその「Java Gold」かと思いますという点です。ソースは公開されているのですから。
10
+
11
+ ソースにアクセスする方法がわかりませんか?
12
+ 1. IntelliJ IDEAをインストールする
13
+ 2. 適当なJavaプロジェクトを作って、適当に「new TreeSet().iterator()」と書く。
14
+ 3. 「iterator」のところをctrl+クリック(Macなら⌘+クリック)