>>138 ArrayListについては別のプログラムでテストしてみたところ問題
   ありませんでした。

あと、
while((str = in.readLine()) != null && str.equals("END"))//"END"を確認するまで受信し続ける
receive.add(Integer.parseInt(str));
System.out.println(str);
だとstrが表示されるのですが、

while((str = in.readLine()) != null && str.equals("END")){
receive.add(Integer.parseInt(str));
System.out.println(str);
}
のようにwhile文を{}でくくって受信するたびに文字列を表示しようとすると
なにも表示されません。

また、このwhile文以降のif文にも処理が移行しません。
どうしたら解決するでしょうか。