Skip to content
On this page

集合

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));
}