JAvaキューおよびhashset hashmapdまとめ

2923 ワード

キューおよびhashset hashmapd総括キューは秩序化されているが、hashsetおよびhashmapは秩序化を保証せず、hashsetは1つの集合に相当し、hashmapはマッピングである.Hashsetが格納するデータはhashsetに既に存在すると格納されないがhashmapは異なり,キーワードが同じであれば格納され,元のマッピングが新たに置き換えられる.したがって、そのキーワードに対応するvalueは変更できます.Hashsetは、配列またはキュー内の同じ要素を重複しないように除去するために使用できます.Hashmapは、キーワードを使用して、対応するvalueの値を変更することができる.関連練習問題1.任意のint次元配列を与える  a.配列内の重複要素を取り除く  b.配列の並べ替え
public class ArrayList<E> {
	public static void main(String[] args) {
		//         
		int a[] = { 2, 4, 6, 3, 8, 2, 6, 9, 0, 7 };
		ArrayList<Integer> array = new ArrayList<Integer>();
		int b[] = array.change(a);
		for(int i=0;i<b.length;i++){
			System.out.println(b[i]);
		}

	}

	public int[] change(int a[]) {
		//   1   
		java.util.ArrayList<Integer> array = new java.util.ArrayList<Integer>();
		//         
		java.util.HashSet<Integer> list = new java.util.HashSet<Integer>();
		//     ,           
		for (int i = 0; i < a.length; i++) {
			int j = a[i];
			list.add(j);
		}

		//             
		java.util.Iterator<Integer> iter = list.iterator();
		int h=0;
		

		while (iter.hasNext()) {
			int i = iter.next();
			a[h]=i;
			h++;
		}
       //      
		  for(int i=0;i<list.size()-1;i++){
			  for(int j=i+1;j<list.size();j++){
				  if(a[i]>a[j]){
					  int b=a[i];
					  a[i]=a[j];
					  a[j]=b;
				  }
			  }
		  }
		 int[] c = new int[list.size()];
		  for(int i=0;i<list.size();i++){
			  c[i]=a[i];}
	  
		  return c;
	}
}
 
2.任意の文字列String str=「sadsadsadljsaljdlsajdlsajdlsajdlsajd」をソートする必要がないようにsettreeを使用することもできます.     統計文字列内の各文字の出現回数
public class stringtest {
	public static void main(String[] args) {
		//        
		String str = "abbcccddddeeeee";
		stringtest st = new stringtest();
		HashMap<Character, Integer> map = st.count(str);
		java.util.Set<Character> keys = map.keySet();
		//   
		for (char c : keys) {
			int count = map.get(c);
			System.out.println(c + "    :" + count);

		}
}

	public HashMap<Character, Integer> count(String str) {
		java.util.HashMap<Character, Integer> map = new java.util.HashMap<Character, Integer>();
		int count = 1;
		for (int i = 0; i < str.length(); i++) {
			char j = str.charAt(i);
			
			boolean b = map.containsKey(j);
			if (!b) {
				map.put(j, count);
			} else {
				int a = map.get(j);
				map.put(j, a + 1);
			}
}
		return map;
}
}

num=map.get(j);そのnum=NULL=num?1;++num;代わりに、これでもっと簡単になりました.