FOR SE

文系の学部から新卒でメーカー系のSIerに就職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界に就職

このエントリーをはてなブックマークに追加

【java】コレクション(ArrayList・HashMap・HashSet)の違い整理

【今回の紹介】


資格の勉強でjavaを学習しなきゃいけない見たいのなので、

やりま、す。




今回は、試験問題に出てきたコレクションのArraylistとHashsetについてまとめます

ちなみに、javaの知識が全然なくて、格納する要素数がかへんであることくらいしか

前提知識がありませんでした。

【内容】


とりあえず以下のサイトを参考にしながら、参考ソースを書いてみたという感じです。


コレクションについてまとまっている
  http://www1.bbiq.jp/takeharu/java89.html


基本的なこと(どんなことができるか)がまとまっている
  http://www.javadrive.jp/start/


■わかったこと

  ①ArrayListは重複要素が格納可能(Hashsetは格納できない)
 
  ②ArrayListの要素を追加すると自動的にリストをつめる
  
  ③HashMapは連想配列のようなもので、キーで値を管理

  ④ArrayListは順序付けを行い、要素を格納(HashSetは順不同)
  

■わからなかったこと

 ・HashSet・HashMapは具体的にどのような場面・どのような機能を実現しようとした時に
  
  役立つのか?

  ※phpだと連想配列がセッション管理で役立つイメージだったけど同じ感じ?



【参考ソース】

/*Arraylistの特徴
 	・エレメントに番号が振られる(順序づけて管理される)
 	・重複可能
 	・エレメントを削除した場合、詰める
 */
System.out.println("ArrayList");

	ArrayList <String>list=new ArrayList<String>();
	list.add("1");
	list.add("2");
	list.add("3");
	list.add("1");
System.out.println("listsizeは"+list.size());
	for(int i=0;i<list.size();i++){
		System.out.println(list.get(i));
	}
list.remove(0);
System.out.println("listsizeは"+list.size());
	for(int i=0;i<list.size();i++){
		System.out.println(list.get(i));
}

/*結果
listsizeは4
1
2
3
1
listsizeは3
2
3
1
 */

/*Hashsetの特徴
  		・重複する値は格納できない
 */
System.out.println("Hashset");

HashSet<String> test=new HashSet();
System.out.println(test.add("a"));
System.out.println(test.add("b"));
System.out.println(test.add("a"));
//各メソッドを試す
System.out.println(test.size());
System.out.println(test.isEmpty());
System.out.println(test.contains("b"));
System.out.println(test.remove("b"));
System.out.println(test.contains("b"));

/*結果
true
true
false
2
false
true
true
false*
 */
.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }