c++和java中常用语法对照

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

 

 

---------------------------------------------------------持续更新中---------------------------------------------------------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值