Java集合是Java语言中用于管理和操作数据集合的一组类和接口的集合,它提供了丰富的数据结构和方法,方便开发者高效地进行数据的存储、检索、删除、遍历等操作。Java集合框架包含了多种类型的集合,如List、Set、Queue和Map等,每种集合都有其独特的特点和适用场景。
一、List集合
List是一种有序的集合,允许存储重复的元素。Java集合框架提供了多种实现List接口的类,如ArrayList、LinkedList和Vector等。List集合的特点和常用方法如下:
-
特点:
-
允许存储重复的元素。
-
元素按照插入顺序排序,可以根据索引访问元素。
-
具有动态扩展的能力,可以根据需要自动调整大小。
2.常用方法: add方法添加元素
List<String> list = new ArrayList<>(); /* add方法的两种重载 add(E e) 将指定的元素追加到此列表的末尾。 add(int index, E element) 在此列表中的指定位置插入指定的元素。 */ list.add("Java"); list.add("Python"); list.add("Python"); list.add("Java"); list.add(2,"C++"); System.out.println(list);
使用get获取集合中的元素
System.out.println(list.get(0)); System.out.println(list.get(2)); System.out.println(list.get(4));
使用remove删除元素,每次删除只能删除一个元素
list.remove("Java"); list.remove("C++"); System.out.println(list);
使用contains查询是否包含指定元素,如果此列表包含指定的元素,则返回true 。
System.out.println(list.contains("C++")); System.out.println(list.contains("Java"));
使用增强for循环遍历
for (String s : list) { System.out.println(s); }
使用clear()清空集合
System.out.println(list);
二、Set集合
Set是一种不允许存储重复元素的集合,它保持了元素的唯一性。Java集合框架提供了多种实现Set接口的类,如HashSet、TreeSet和LinkedHashSet等。Set集合的特点和常用方法如下:
1.特点:
-
不允许存储重复元素。
-
没有固定的顺序,不可以根据索引访问元素。
-
可以用于去重操作,保持数据的唯一性。
2.常用方法
由于set集合无序无索引,不存在对索引的操作。所以set并不存在add(int index, E element)方法和get()方法。其余List中的方法Set均可适用,具体操作与List一样。
三、Map集合
Map是一种键值对(Key-Value)映射的集合,每个键(Key)都是唯一的,可以用来存储和获取数据。Java集合框架提供了多种实现Map接口的类,如HashMap、TreeMap和LinkedHashMap等。Map集合的特点和常用方法如下:
-
特点:
-
键(Key)和值(Value)之间是一一对应的关系,每个键(Key)都是唯一的。
-
可以通过键(Key)快速地访问值(Value),而不需要遍历整个集合。
-
允许存储null键和null值。
2.常用方法
使用put添加元素
Map<String,Integer> map = new HashMap<>(); map.put("张三",1); map.put("李四",2); map.put("王五",3); System.out.println(map);
使用get方法可以根据键(Key)获取对应的值(Value)。
System.out.println(map.get("张三")); System.out.println(map.get("李四")); System.out.println(map.get("王五"));
使用containsKey方法可以判断Map集合中是否包含指定的键(Key)。
System.out.println(map.containsKey("张三")); System.out.println(map.containsKey("李四")); System.out.println(map.containsKey("王五")); System.out.println(map.containsKey("赵六"));
使用containsValue方法判断Map集合中是否包含指定的值(Value)
删除键值对:使用remove方法可以删除Map集合中指定的键值对。
System.out.println(map.containsValue(1)); System.out.println(map.containsValue(2)); System.out.println(map.containsValue(3)); System.out.println(map.containsValue(4));
使用for循环可以遍历Map集合中的所有键值对。
for(Map.Entry<String,Integer> entry: map.entrySet()){ System.out.println(entry.getKey() + "=" + entry.getValue()); }