概述
一维List创建与初始化
List<Integer>temp = new ArrayList<Integer>();
//或 List<Integer>temp = new ArrayList<>();
//用已经存在的list初始化
List<Integer>copy = new ArrayList<Integer>(temp);
//增加与删除
temp.add(1);
temp.remove(temp.size()-1);
嵌套List
//外层实例,内层抽象
List<List<Integer>> ans = new ArrayList<List<Integer>>();
ans.add(temp);//二维list中加入一个一维list temp
Arrays.sort
edge是一个二维数组,以下写法是按照edge的第二个维度从大到小排序
Arrays.sort(edges, (a, b) -> (b[0] - a[0]));
栈和队列
栈
//声明
Stack<Character> stack = new Stack<>();
//插入
stack.push(ch);
//删除
stack.pop();
//栈顶
//当栈为空时,调用此方法会报错
stack.peek()
队列
//声明
Queue<Character> queue = new LinkedList<Character>();
//插入
queue.offer(ch);
//删除
queue.poll();
//队列首部
queue.peek()
栈 | 队列 |
---|---|
push() | offer() |
pop() | poll() |
peek() | peek() |
deque 双端队列
Deque<String> path = new ArrayDeque<>();
path.addFirst(suffix);
path.addFirst(suffix);
//弹出队列首部元素
path.pollFirst();
//往队列尾部添加元素
path.add(element);
Compareable和Comparator
Compareable是一个接口,内部只有一个方法叫compareTo()
public interface Comparable<T> {
public int compareTo(T o);
}
常用排序模板
结构体排序
import java.util.*;
class node{
int score;
int age;
public node(int s,int a){
score=s;
age=a;
}
}
public class nodeOrder {
public void bestTeamScore(int[] scores, int[] ages) {
int n = scores.length;
node[] arr = new node[n];
for (int i = 0; i < n; i++) {
arr[i] = new node(scores[i], ages[i]);
}
//核心排序代码
Arrays.sort(arr, (e1, e2) -> {
//首先按照年龄从小到大排序
if (e1.age != e2.age) {
return e1.age - e2.age;
}
//若年龄相同,按照分数从小到大排序
else {
return e1.score - e2.score;
}
});
}
}
字符串字典序排序
import java.util.*;
public class StringDicOrder {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
String[] strArr = new String[n];
for(int i=0;i<n;i++){
strArr[i]=sc.nextLine();
}
//核心代码
Arrays.sort(strArr,(s1,s2)->s1.compareTo(s2));
for(int i=0;i<n;i++){
System.out.println(strArr[i]);
}
}
}
hashmap的遍历
第一种方法既取出了key,也取出了value
Iterator<Map.Entry<String, Integer>> entryIterator = map.entrySet().iterator();
while (entryIterator.hasNext()) {
Map.Entry<String, Integer> next = entryIterator.next();
System.out.println("key=" + next.getKey() + " value=" + next.getValue());
}
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()){
String key = iterator.next();
System.out.println("key=" + key + " value=" + map.get(key));
}
最后
以上就是潇洒冬瓜为你收集整理的Java集合框架API使用汇总的全部内容,希望文章能够帮你解决Java集合框架API使用汇总所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复