Java集合框架 关于CollectionListQueueSetHashMap的使用
Posted 11biscuits
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架 关于CollectionListQueueSetHashMap的使用相关的知识,希望对你有一定的参考价值。
Main.java
package 集合框架.Collection接口;
/*
* Iterable(接口)
* Collection(接口)
* List(接口) Queue(接口) Set(接口)
* ArrayList(接口类) PriorityQueue (接口类) HashSet(接口类)
* LinkedList(接口类)
* */
import java.util.Collections;
public class Main {
public static void main(String[]argv){
//CollectionDemo.show();/*Collection接口*/
//CollectionDemo.listDemo();/*List接口*/
//CollectionDemo.queueDemo();/*Queue接口*/
//CollectionDemo.setDemo();/*Set接口*/
CollectionDemo.hashMapDemo();/*Map接口*/
}
}
CollectionDemo.java
package 集合框架.Collection接口;
import 泛型.Instructor;
import java.util.*;
public class CollectionDemo {
public static void show(){
/*USE Collection*/
Collection<String>collection=new ArrayList<>();
/*---添加元素---*/
collection.add("a");
collection.add("b");
collection.add("c");
/*---一次添加多个元素---*/
Collections.addAll(collection,"d","e","f");
/*迭代集合*/
// for(var item:collection){
// System.out.println(item);
// }
System.out.println(collection);
/*---以除某个元素---*/
collection.remove("a");
System.out.println(collection);
/*---是否包含某个元素---*/
System.out.println(collection.contains("a"));
/*---返回集合元素个数---*/
System.out.println(collection.size());
/*---清空集合---*/
collection.clear();
System.out.println(collection.size());
/*---判断集合是否为空---*/
System.out.println(collection.isEmpty());
/*---将集合元素转换为数组---*/
Object[]objectArray=collection.toArray();
String[]stringArray=collection.toArray(new String[0]);
/*---复制集合---*/
Collection<String>other=new ArrayList<>();
other.addAll(collection);
/*---比较集合---*/
System.out.println(collection.equals(other));
}
public static void listDemo(){
List<String> list=new ArrayList<>();
/*添加元素*/
list.add("a");
list.add("b");
list.add("c");
list.add(3,"3");
/*一次添加多个元素*/
Collections.addAll(list,"d","e","f");
System.out.println(list);
/*获取某个位置的元素*/
System.out.println(list.get(2));
/*重新设置某位置的元素*/
list.set(0,"first");
/*除去元素*/
list.remove(1);
System.out.println(list);
/*寻找元素:第一个出现的位置*/
System.out.println(list.indexOf("first"));
/*寻找元素:最后一次出现的位置*/
System.out.println(list.lastIndexOf("e"));
/*截取List*/
System.out.println(list.subList(0,2));//0 1
/*使用Comparable接口排序*/
List<SortSuch>sortSuches=new ArrayList<>();
sortSuches.add(new SortSuch(23));
sortSuches.add(new SortSuch(13));
sortSuches.add(new SortSuch(103));
Collections.sort(sortSuches);
//System.out.println(sortSuches);
/*Comparator interface比较器接口排序*/
Collections.sort(sortSuches,new sortSuchComparator());
System.out.println(sortSuches);
}
public static void queueDemo(){
Queue<String> queue=new ArrayDeque<>();
queue.add("C");//后插
queue.add("B");
queue.add("A");
queue.offer("D");//前插
//后C B A D前
System.out.println(queue);
//获取队列头:不删除
var frontEl=queue.peek();/*队列为空时返回null*/
frontEl=queue.element();/*队列为空时抛出异常*/
System.out.println(frontEl);
//获取队列头并删除队列头
frontEl=queue.remove();/*当队列为空时抛出异常*/
frontEl=queue.poll();/*当队列为空时返回null*/
System.out.println(queue);
queue.poll();
//清空队列
queue.clear();
}
public static void setDemo(){
Set<String>collection=new HashSet<>();
collection.add("a");
collection.add("a");
collection.add("a");
System.out.println(collection);//[a]
Collection<String>collection1=new ArrayList<>();
Collections.addAll(collection1,"a","a","b","b");
Set<String>set=new HashSet<>(collection1);
System.out.println(set);//[a, b]
/*集合运算*/
//union
collection.addAll(collection1);
//Intersection 交运算
collection.removeAll(collection1);
//差运算
collection.removeAll(collection1);
System.out.println(collection);
}
public static void hashMapDemo(){
Map<String, Integer>map=new HashMap<>();
map.put("hello",23);
map.put("hello2",43);
map.put("hello4",53);
System.out.println(map.get("hello"));//23
System.out.println(map.get("hellofvd"));//null
System.out.println(map.getOrDefault("hellodc",-1));//-1
//判断是否包含某个键
System.out.println(map.containsKey("hello"));//true
//遍历
for(var key:map.keySet()){
System.out.println(key);
}
/* hello4
hello2
hello*/
for(var entry:map.entrySet()){
System.out.println(entry);
/*entry.getKey() entry.getValue()*/
}
/*
hello4=53
hello2=43
hello=23
* */
}
}
SortSuch.java
package 集合框架.Collection接口;
/*使用Comparable接口排序*/
public class SortSuch implements Comparable<SortSuch>{
@Override
public int compareTo(SortSuch o) {
/*
* this < other <0
* this==other =0
* this > other >0
* */
return this.money-o.money;
}
public int money;
public SortSuch(int money){
this.money=money;
}
@Override
public String toString(){
return String.valueOf(money);
}
}
sortSuchComparator.java
package 集合框架.Collection接口;
import java.util.Comparator;
public class sortSuchComparator implements Comparator<SortSuch> {
@Override
public int compare(SortSuch o1, SortSuch o2) {
return o1.money-o2.money;
}
}
以上是关于Java集合框架 关于CollectionListQueueSetHashMap的使用的主要内容,如果未能解决你的问题,请参考以下文章