一、List/Map/Set 遍历方法归纳
1.List 常见的3种遍历方法
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
//1、这种方法效率最高,经常使用
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//2、通过迭代器迭代遍历
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
3、利用for循环遍历
for(String data : list){
System.out.println(data);
}
2.Set常见的2种遍历方法
Set<String> set = new HashSet<String>();
set.add("zhangsan");
set.add("lisi");
set.add("wanwu");
//1、利用迭代器迭代遍历
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//2、for循环遍历
for (String data : set) {
System.out.println(data);
}
3.Map 常见的4种遍历方法
Map<String, String> map = new HashMap<String, String>();
map.put("name", "lili");
map.put("age", "10");
//1、通过keyset二次取值,比较经常使用
for (String key : map.keySet()) {
System.out.println(key + map.get(key));
}
//2、通过entrySet使用迭代器遍历key和value
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + entry.getValue());
}
//3、通过Map.entrySet遍历key和value(推荐容量大时使用)
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + entry.getValue());
}
//4、通过Map.values()遍历所有的value,但不能遍历key
for (String value : map.values()) {
System.out.println(value);
}
二、常用方法总结
List:
方法 | 返回值 | 功能描述 |
add(int index, Object obj) | void | 用来向集合中的指定索引位置添加对象,集合的索引位置从0开始,其他对象的索引位置相对向后移一位 |
addAll(int index, Collection coll) | bollean | 向集合的指定索引位置添加指定的集合对象 |
remove(int index) | Object | 用来移除集合中指定索引位置的对象 |
indexOf(Object obj) | int | 该方法返回列表中对象第一次出现的索引位置,如果集合中不包含该元素,则返回-1 |
lastIndexOf(Object) | int | 该方法返回列表中对象最后一次出现的索引位置,如果集合中不包含该元素,则返回-1 |
get(int index) | Object | 用于获取指定索引位置瑸对象 |
subList(int formIndex, int toIndex) | List | 获取从索引fromIndex到toIndex之间的元素对象 |
set(int index, E element) | Object | 用指定元素替换列表中指定位置的元素,返回以前在指定位置的元素 |
listIterator() | ListIterator | 用来获得一个包含所有对象的ListIterator列表迭代器 |
Set:
方法 | 返回值 | 功能描述 |
add(Object obj) | boolean | 如果此Set集合中尚未存在指定的元素,则添加此元素 |
addAll(Collection coll) | boolean | 将参数集合中所有元素添加到此Set集合的尾部 |
remove(Object obj) | boolean | 将指定的参数对象移除集合 |
removeAll(Collection c) | boolean | 在Set集合中移除包含在指定Collection中的元素 |
retainAll(Collection c) | boolean | 只保存Set集合中包含在指定Collection集合中的内容 |
clear() | void | 移除此Set中的所有元素 |
iterator() | Iterator | 返回此Set集合中的所有元素数 |
size() | int | 返回此Set集合中的所有元素数 |
isEmpty() | boolean | 如果Set不包含元素,则返回true |
小技巧:由于Set集合中不允许存在重复值,因此可以使用Set集合中的addAll()方法,将Collection集合添加到Set集合中并除掉重复值。
Map:
方法 | 返回值 | 功能描述 |
put(key k, value v) | Object | 向集合中添加指定的key与value的映射关系 |
containskey(Object key) | boolean | 如果此映射包含指定键的映射关系,则返回true |
containsValue(Object value) | boolean | 如果此映射将一个或多个键映射到指定值,则返回true |
get(Object key) | Object | 如果存在指定的键对象,则返回该对象对应的值,否则返回null |
keySet() | Set | 返回该集合中的所有键对象组成的Set集合 |
values() | Collection | 返回该集合中所有值对象形成的Collection集合 |
(以上内容来自自己学习笔记以及网上摘录整理,仅供学习与复习,侵删!)