1.vector
c++
#include<vector>
std::vector<>a;//创建
a[i]//访问,获取
a[i]=v;//修改
a.push_back(v)//添加元素
a.erase(a.begin+w-1)//删除第w个元素
std::sort(a.begin,a.end);
std::reverse(a.begin(),a.end());
java
import java.util.Vector;
Vector<Integer> a=new Vector<>();
a.add(3);//添加,获取
a.get();
a.remove(i)
a.size(); // 获取 Vector 的大小
a.isEmpty(); // 判断 Vector 是否为空
a.contains("Banana"); // 判断 Vector 是否包含某个元素
a.set(index, "New Element");
Collections.sort(a);
Collections.reverse(a);
a.clear();
2.lambda表达式
c++
std::sort(a.begin(),a.end(),[&](int a,int b){
return a<b;
});
java
Comparator<Integer> cmp = (a, b) -> a.compareTo(b);
Collections.sort(a, cmp);
3.string
c++
#include<string>
std::string s;
s.push_back('i');
s.substr(7, 5)//起始下标,长度
s[i]//获取,修改
//其它和vevtor操作类似
java
//相比java中的String,stringbuilder更接近c++中的string
StringBuilder sb = new StringBuilder(); // 创建一个空的 StringBuilder 对象
sb.charAt(i);//获取
sb.setCharAt(i, newChar);//修改
sb.append(" World"); // 在字符串末尾添加字符串
sb.insert(5, ","); // 在指定位置插入字符或字符串
sb.delete(5, 11); // 删除从索引5到11(不包括11)的子字符串
sb.replace(5, 11, "Java"); // 将指定范围的子字符串替换为新的字符串
int length = sb.length(); // 获取 StringBuilder 中的字符数量
String result = sb.toString(); // 将 StringBuilder 转换为 String 类型
//java里的reverse没有反转区间反转字符串的功能,想用就自己写吧
for(int i=0;i<=(y-x+1)/2-1;i++){
char w=sb.charAt(i+x);
sb.setCharAt(i+x,sb.charAt(y-i));
sb.setCharAt(y-i,w);
}
//string转stringbuilder
String str = "Hello";
StringBuilder sb = new StringBuilder(str);
or
String str = "Hello";
StringBuilder sb = new StringBuilder();
sb.append(str);
4.java中的常见包装类
byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean
5.map
c++
#include<map>
std::map<int,int>mp;//创建
mp[i]=1;mp[i]++;//访问
mp.find(k)==mp.end()//查找
mp[i].first,mp[i].second//访问键值对
mp.erase(2)//删除键为2的键值对
java
import java.util.TreeMap;
TreeMap<Integer, String> mp = new TreeMap<>();
// 创建一个 TreeMap,并指定自定义的比较器
TreeMap<Integer, String> mp = new TreeMap<>(Comparator.reverseOrder());
mp.put(1,"apple");
mp.get(2)//返回键为2的值
mp.remove(2)//删去键为2的键值对
mp.size()//大小
mp.isEmpty()//是否为空
mp.containKey(i)//是否含有该键
mp.containsValue()//判断是否包含指定值。
clear(): 清空 TreeMap 中的所有键值对。
keySet(): 返回包含 TreeMap 中所有键的 Set 集合。
values(): 返回包含 TreeMap 中所有值的 Collection 集合。
entrySet(): 返回包含 TreeMap 中所有键值对的 Set 集合。
//使用实例:遍历
for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
}
6.queue
c++
#include<queue>
std::queue<int>q
q.front;//队首
q.pop();
q.push(i);
java
Queue<Integer> queue = new LinkedList<>();//创建
queue.poll();//获取队首并移除
queue.offer(i);//相当于push
7.priority_queue
c++
#include <queue>
std::priority_queue<int>q;
q.top();
q.size();
q.empty();
q.pop();
q.push();
//指定比较器
std::priority_queue<int, std::greater<int> or std::less<int>> heap;
java
import java.util.Queue;
import java.util.PriorityQueue;
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.offer(2);
priorityQueue.isEmpty();
priorityQueue.poll();
8.输入输出
c++
#include<iostream>
std::cin>>t;
std::cout<<t;
std::cin.eof()
java
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine(); // 读取一行输入
String firstName = scanner.next();
System.out.println("Your name is: " + name);
scanner.hasNext()//用来处理eof
---------------------------------------------------------持续更新中---------------------------------------------------------