集合
arrayList
泛型
java
ArrayList<String> arrayList = new ArrayList();
add
java
arrayList.add("1");
arrayList.add(2);
addAll
添加另一个集合
java
ArrayList<String> arrayList = new ArrayList();
ArrayList arrayList2 = new ArrayList();
arrayList.addAll(arrayList2);
isEmpty
判断是否为空
java
arrayList.isEmpty()
contains
判断是否包含某个元素
java
arrayList.contains("1")
size
java
System.out.println(arrayList.size());
removeAll
和 addAll
相反
java
arrayList.removeAll(arrayList2);
remove
删除下标对应的元素
java
ArrayList<String> arrayList = new ArrayList();
arrayList.add("1");
arrayList.add("2");
arrayList.remove(0); // 删除 1
clear
清除集合中的所有元素
java
arrayList.clear();
indexOf/lastIndexOf
java
arrayList.indexOf("1")
arrayList.lastIndexOf("1")
toArray
转为数组
java
Object[] objects = arrayList.toArray();
System.out.println(Arrays.toString(objects) );
clone 复制
java
Object clone = arrayList.clone();
ArrayList list1 = (ArrayList)clone;
HashSet
泛型
java
HashSet<String> strings = new HashSet();
add
java
strings.add("1");
contains
是否包含
java
strings.contains("1");
size
java
strings.size();
clear
java
strings.clear()
remove
java
strings.remove("z");
遍历
java
for (String string : strings) {
System.out.println(string);
}
HashMap
对 key
值做 hash
操作
泛型
java
HashMap<String,String> hashMap= new HashMap();
put
当有 key
值相同时,会覆盖掉之前的 value
值。
java
HashMap hashMap = new HashMap();
hashMap.put("zhansgan",1);
hashMap.put("zs", 4);
hashMap.put("zs", 5);
putIfAbsent
当 key
值不存在时,才会添加 value
值。
java
hashMap.put("zs", 4);
hashMap.putIfAbsent("zs",5);
此时不会添加 zs = 5
replace
替换,返回一个被替换的值
java
hashMap.put("zs", 4);
Object oldValue = hashMap.replace("zs", 6);
System.out.println(oldValue); // 4
get
java
hashMap.get("zs");
remove
java
hashMap.remove("zs");
clear
java
hashMap.clear();
keySet
由key值组成的集合
java
HashMap hashMap = new HashMap();
hashMap.put("zs", 4);
Set keyS = hashMap.keySet();
for (Object key : keyS) {
System.out.println(key); // "zs"
System.out.println(hashMap.get(key)); // 4
}
集合中判断contains
java
HashMap hashMap = new HashMap();
Set keyS = hashMap.keySet();
System.out.println(keyS.contains("zs"));
集合中判断contains
java
HashMap hashMap = new HashMap();
Set keyS = hashMap.keySet();
System.out.println(keyS.contains("zs"));
java
Collection values = hashMap.values();
System.out.println(values.contains("4"));
直接判断containsKey
判断是否有key
java
HashMap hashMap = new HashMap();
System.out.println(hashMap.containsKey("zs")); // true
判断是否有value
```java
System.out.println(hashMap.containsValue("5"));
获取键值对 entrySet
java
HashMap<String,String> hashMap= new HashMap();
hashMap.put("zhansgan","1");
// 获取键值对
Set<Map.Entry<String, String>> entries = hashMap.entrySet();
// 便利键值对
for (Map.Entry<String, String> entry : entries) {
// 获取键
entry.getKey()
// 获取value
entry.getValue()
}
遍历
java
Map<Integer, String> map = new HashMap<>();
map.put(001, "Java");
map.put(002, "数据库");
map.put(003, "Vue");
通过Map.keySet遍历
java
@Test
public void testHashMap3() {
// 通过Map.keySet遍历key,然后通过key得到对应的value值
for (Integer key : map.keySet()) {
System.out.println("key = " + key + ", value = " + map.get(key));
}
}
通过For-Each迭代entries,使用Map.entrySet遍历
java
@Test
public void testHashMap4() {
// 使用For-Each迭代entries,通过Map.entrySet遍历key和value
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
}
输出结果为
txt
{1=Java, 2=数据库, 3=Vue}
key = 1, value = Java
key = 2, value = 数据库
key = 3, value = Vue
使用lambda表达式forEach遍历
java
@Test
public void testHashMap5() {
// 使用lambda表达式forEach遍历
map.forEach((k, v) -> System.out.println("key = " + k + ", value = " + v));
}