HashSet的使用
/**
* HashSet内的元素是唯一的(是无序的)
* 存入顺序和取出顺序是不一致的
* 不会对元素进行排序
*/
//创建对像
HashSet<String> hashSet=new HashSet<String>();
hashSet.add("qwe");
hashSet.add("qwe");
hashSet.add("ab");
hashSet.add("aa");
hashSet.add("c");
//返回大小
int size = hashSet.size();
//是否为空
boolean empty = hashSet.isEmpty();
//如果存在,则从该集合中删除指定的元素。
boolean remove = hashSet.remove("b");//删除了为true
//是否包含元素
boolean contains = hashSet.contains("aa");
//遍历元素
Iterator<String> iterator = hashSet.iterator();
while (iterator.hasNext()) {
String next = iterator.next();
System.out.println(next);
}
//返回数组
Object[] array = hashSet.toArray();
String[] strArr=(String[])array;//强制转换
HashMap的使用
/**
* 存入元素和取出元素的顺序是一致的
* 键是唯一的
* HashMap
* 不会对元素进行排序
*/
//创建对象
HashMap<String, Integer> hashMap=new HashMap<String, Integer>();
//添加元素
hashMap.put("cc", 234);
hashMap.put("qwe", 123);
hashMap.put("aa", 123);
hashMap.put("qwe", 234);
hashMap.put("bb", 234);
//返回大小
int size2 = hashMap.size();
//是否包含键
boolean containsKey = hashMap.containsKey("aa");
//是否包含值
boolean containsValue = hashMap.containsValue(123);
//是否为空
boolean empty2 = hashMap.isEmpty();
//根据键获取值
Integer integer = hashMap.get("aa");
//根据键删除值
Integer remove2 = hashMap.remove("qwe");
//键和值一直时才删除
boolean remove3 = hashMap.remove("key", 123);//true表示成功
//遍历
Set<Entry<String,Integer>> entrySet = hashMap.entrySet();//entry就是键值对
Iterator<Entry<String, Integer>> iterator2 = entrySet.iterator();
while (iterator2.hasNext()) {//遍历迭代器
Entry<String, Integer> next = iterator2.next();
String key = next.getKey();//获取键
Integer value = next.getValue();//获取值
System.out.println("key="+key+",value="+value);
}
//返回键的集合
Set<String> keySet = hashMap.keySet();//也是通过迭代器遍历
//返回值的集合
Collection<Integer> values = hashMap.values();//也是通过迭代器遍历
Iterator<Integer> iterator3 = values.iterator();
TreeSet的使用
/**
* TreeSet
* 元素是唯一的
* 会对元素进行排序
*
*/
//创建对象
TreeSet<Integer> treeSet=new TreeSet<Integer>();
treeSet.add(3);
treeSet.add(4);
treeSet.add(1);
//返回大小
int size3 = treeSet.size();
//返回第一个元素(最小的)
Integer first = treeSet.first();
//返回第一个元素并删除
Integer pollFirst = treeSet.pollFirst();
//返回最后一个元素
Integer last = treeSet.last();
//返回最后一个元素并删除
Integer pollLast = treeSet.pollLast();
//遍历
Iterator<Integer> iterator4 = treeSet.iterator();//使用迭代器进行遍历,升序
TreeMap
/**
* TreeMap
* 键值是唯一的
* 会对元素进行排序
*
*/
//创建对象
TreeMap<String, Integer> treeMap=new TreeMap<String, Integer>();
treeMap.put("qwe", 123);
treeMap.put("bb", 1);
treeMap.put("cc", 2);
treeMap.put("aa", 123);
//返回大小
int size4 = treeMap.size();
//是否包含键
boolean containsKey2 = treeMap.containsKey("key");
//是否包含值
boolean containsValue2 = treeMap.containsValue(123);
//是否为空
treeMap.isEmpty();
//根据键删除 返回对应的值 没有返回null
Integer remove4 = treeMap.remove("cc");
//返回第一个键值对(键最小的)
Entry<String, Integer> firstEntry = treeMap.firstEntry();
//返回最后一个键值对(键最大的)
treeMap.lastEntry();
//返回并删除第一个键值对
treeMap.pollFirstEntry();
//返回并删除最后一个键值对
treeMap.lastEntry();
//遍历
Set<Entry<String,Integer>> entrySet2 = treeMap.entrySet();
Set<String> keySet2 = treeMap.keySet();
Collection<Integer> values2 = treeMap.values();
ArrayList
/**
* ArrayList
* 列表
* 插入和取出的顺序是一致的
*/
//创建对象
ArrayList<String> arrayList=new ArrayList<String>();
//将指定的元素追加到此列表的末尾。
arrayList.add("qwe");
arrayList.add("qwe");
arrayList.add("qwe");
arrayList.add("aa");
//在此列表中的指定位置插入指定的元素。
arrayList.add(0, "aa");
//返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
arrayList.indexOf("qwe");
//是否为空
boolean empty3 = arrayList.isEmpty();
//是否包含指定的元素
boolean contains2 = arrayList.contains("qwe");
//返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
arrayList.lastIndexOf("qwe");
//删除指定位置的元素
String remove5 = arrayList.remove(0);
//删除元素obj,返回是否成功
boolean remove6 = arrayList.remove("obj");
//以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
Object[] array = arrayList.toArray();
String
队列queue
队列的家谱
方法
/**
* Queue
* 队列
* 队列是先进先出的
* 先进入队列的元素,会选出来
*/
Queue<Integer> queue= new LinkedList<>();
//添加
queue.add(1);
queue.add(2);
queue.add(3);
//查看队列头元素
Integer peek = queue.peek();
//删除队列头元素并返回
Integer poll = queue.poll();
栈Stack
栈的家谱
方法
/**
* Stack
* 栈
* 栈是先进后出的
*/
//创建栈对象
Stack<Integer> stack=new Stack<>();
//是否为空
stack.empty();
//添加 入栈
stack.push(1);
stack.push(2);
stack.push(3);
//查看栈顶元素不删除
Integer peek2 = stack.peek();
//查看栈顶元素删除
Integer pop = stack.pop();