一、ArrList 的遍歷
(1)
public List<String> getArrayList(){ List<String> list =new ArrayList<String>(); list.add("1"); list.add("2"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); list.add("6");list.add(" "); return list;}for (int i = 0, len = list.size(); i < len; i++) { String s = list.get(i); Log.e("TAG", s.toString()); }for(String s :list){ Log.e("TAG", s.toString());}Iterator<String> iterator =list.iterator(); while (iterator.hasNext()){ String s = iterator.next(); Log.e("TAG", s.toString()); }打印結果:
02-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 102-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 202-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 202-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 302-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 402-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 502-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG: 602-08 10:34:19.549 17555-17555/com.testopensourceapplication.citydemo E/TAG:
特性:ArrayList 可以重復 和可以為空
如果需要刪除的時候,只能使用Iterator
二、HashSet 的遍歷
public Set<String> getHashSet(){ Set<String> set = new HashSet<>(); set.add("1"); set.add("2"); set.add("2"); set.add("3"); set.add("4"); set.add("5"); set.add("6"); set.add(" "); return set;}Set<String> set =getHashSet();for(String value : set){ Log.e("TAG",value);}
Iterator<String> iterator = set.iterator();while (iterator.hasNext()){ String value =iterator.next(); Log.e("TAG",value);}特性:HashSet 存入和輸出數據的順序不一定,元素不可重復
Hash Set 是通過hashCode 和equals 兩個方法 來保證元素的唯一性
HashCode 值相同,才會判斷equals 是否為true
HashCode 值不同,那么就不調用equals
02-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 502-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 402-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 102-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 302-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 02-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 602-08 13:07:47.768 8960-8960/com.testopensourceapplication.citydemo E/TAG: 2
三、HashMap 的遍歷
public HashMap<String,String> getHashMap(){ HashMap<String,String> map =new HashMap<>(); map.put("a","1"); map.put("a","7"); map.put(" ","2"); map.put("b","2"); map.put("c","3"); map.put("d","4"); map.put("e","5"); map.put("f","6"); return map;}Map<String,String> map =getHashMap();for(Map.Entry<String,String> entry :map.entrySet()){ Log.e("TAG", "key" + entry.getKey() + "-----" + "value:" + entry.getValue()); }Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry<String,String> entry =iterator.next(); Log.e("TAG", "key" + entry.getKey() + "-----" + "value:" + entry.getValue()); }/** * 方式4,通過鍵遍歷(效率低) */for(String key :map.keySet()){ String value = map.get(key); Log.e("TAG", "key:" + key + "Value:" + value);}/** * 方式5,只需要key集合或者value集合時候使用 */for(String key :map.keySet()){ Log.e("TAG","key:"+key); }for(String value :map.values()){ Log.e("TAG","value:"+value);}特性:
HashMap 可以堅守null 鍵值和值 存儲是鍵值對的形式 鍵沒有重復,沒有順序map 添加存在相同key的時候,其value會覆蓋前面的value。02-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:dValue:402-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:aValue:702-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:fValue:602-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:bValue:202-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:cValue:302-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key: Value:202-08 13:38:44.364 16864-16864/com.testopensourceapplication.citydemo E/TAG: key:eValue:5
|
新聞熱點
疑難解答