相关知识点
- 集合是一系列对象的聚集(Collection)
- java中提供了有关于集合的类库称为 Collection APL
- Collection APL 中的接口和类位于Java.util 包中,其基本的接口 Collection 和 Map
- collection 的子接口有两种 :set 和 list
HashSet 和TreeSet 是实现Set接口的两个类 - Map 键-值集合 ( key-value)
HashMap 和TreeMap 是实现Map接口的两个类
Set 的使用
boolean add(E e) 添加元素,但重复元素不会被添加成功
void clear() 清空集合
boolean contains(Object o) 判断 o 是否在集合中
Iterator iterator() 返回迭代器
boolean remove(Object o) 删除集合中的 o
boolean isEmpty( ) 判断是否为空
int size()元素个数
Set特点:(list的特点和Set刚好相反)
Set表示的是不重复元素的集合;
元素输入的顺序的输出的顺序没有关系;
相等的元素不会重复加入;
代码演示:
package collection;
import java.util.HashSet;
import java.util.Set;
public class TestHashSet {
public static void main (String[] args) {
Set h = new HashSet();
h.add("1st");
h.add("2nd");
h.add("3rd");
h.add("4th");
h.add("5th");
h.add("3rd");
h.add(new Integer(9));
System.out.println(h);
System.out.println(h.contains(9));
h.remove("3rd");
System.out.println(h);
}
}
[1st, 3rd, 2nd, 4th, 5th, 9]
true
[1st, 2nd, 4th, 5th, 9]
Map 的使用
K getKey( ) 返回 entry 中的 key
V getValue( ) 返回 entry 中的 value
V get(Object key) 返回 key 对应的 value
V getOrDefault(Object key, V defaultValue) 返回 key 对应的 value,key 不存在,返回默认值
V put(K key, V value) 设置 key 对应的 value
V remove(Object key) 删除 key 对应的映射关系
Set keySet() 返回所有 key 的不重复集合
Collection values() 返回所有 value 的可重复集合
Set> entrySet() 返回所有的 key-value 映射关系
boolean containsKey(Object key) 判断是否包含 key
boolean containsValue(Object value) 判断是否包含 value
package collection;
import java.util.HashMap;
import java.util.Map;
public class TestDemo {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<>() ;
map.put(1,"hello") ;
map.put(1,"Hello") ;
map.put(3,"Java") ;
map.put(2,"Bit") ;
System.out.println(map) ;
System.out.println(map.get(2));
System.out.println(map.get(99));
System.out.println(map.isEmpty());
System.out.println(map.size());
System.out.println(map.keySet());
System.out.println(map.remove(1));
System.out.println(map) ;
System.out.println(map.containsKey(2));
System.out.println(map.containsValue("Bit"));
}
}
{1=Hello, 2=Bit, 3=Java}
Bit
null
false
3
[1, 2, 3]
Hello
{2=Bit, 3=Java}
true
true