由于最近频繁在java、python、go三种开发语言中不断切换,有时候针对基础的数据结构和日常操作搞混了,因此本文进行相关梳理。文中涉及的相关数据结构和日常操作并不复杂,权当增强记忆和理解。
1. Java
1.1 字符串操作
1.1.1 构建String
# stringbuilder对象构建
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("a");
String str1 = stringBuffer.toString();
# 直接赋值
String str2 = "hello";
# 构建string
String str3 = new String("hello");
1.1.2 String拆分转列表
# 拆分成数组
String s = "the sky is blue";
String[] strArray = s.split(" ");
# 数组转列表
List<String> strList = new ArrayList<>(strList.length);
strList.addAll(strArray);
1.1.4 列表拼接成String
# 列表拼接成字符串
String[] strArray = new String[]{"the", "sky", "is", "blue"}
List<String> strList = new ArrayList<>(ss.strArray);
String s = String.join(" ", strList);
1.1.4 寻找第一个匹配的子字符串
String s = "the sky is blue";
String sub = "sky";
# 返回第一个匹配的元素下标,如果不能匹配,返回-1
int index = s.indexOf(sub);
1.1.5 判断2个字符串是否相同
String s1 = "the sky is blue";
String s2 = "sky";
# 使用equals方法判断
if (s1.equals(s2)) {
System.out.println(String.format("%s equals %s", s1, s2));
} else {
System.out.println(String.format("%s not equals %s", s1, s2));
}
1.1.6 String和数字的相互转换
# 数字转string
int a = 1;
String s = String.valueOf(a);
# string转数字
int c = Integer.parseInt(s);
float c = Float.parseFloat(s);
double c = Double.parseDouble()
1.1.7 String排序
没有原生的方法,可以通过其他方法演变。
String str = "avc";
String[] tmp = str.split("");
Arrays.sort(tmp);
String newStr = String.join("", tmp);
1.2 数字操作
1.2.1 数字类型的相互转化
# int转float和double
int a = 1;
float b = Float.parseFloat(String.valueOf(a));
double c = Double.parseDouble(String.valueOf(a));
# float/double转int
int d = Integer.parseInt(String.valueOf(c));
2. Go
2.1 字符串操作
2.1.1 构建String
# 直接赋值
str := "hello";
2.1.2 String拆分转列表
# 拆分成数组
s := "the sky is blue"
strList := strings.Split(s, " ")
2.1.3 列表拼接成String
# 列表拼接成字符串
s := String.join(" ", strList);
2.1.4 寻找第一个匹配的子字符串
s := "the sky is blue";
sub := "sky";
# 返回第一个匹配的元素下标,如果不能匹配,返回-1
index := strings.Index(s, sub)
2.1.5 判断2个字符串是否相同
s1 := "the sky is blue";
s2 := "sky";
# 使用==方法判断
if (s1 == s2)) {
fmt.Printf("%s equals %s", s1, s2)
} else {
fmt.Printf("%s not equals %s", s1, s2)
}
2.1.6 String和数字的相互转换
# string转成int:
int, err := strconv.Atoi(string)
# string转成int64:
int64, err := strconv.ParseInt(string, 10, 64)
# int转成string:
string := strconv.Itoa(int)
# int64转成string:
string := strconv.FormatInt(int64,10)
2.1.7 String排序
str := "abc"
strList := strings.Split(str, "")
sort.Strings(strList);
str = strings.Join(strList, "")
2.2.1 数字类型的相互转化
2.2.1 数字类型的相互转化
# int转float和double
a := 1
b := float32(a);
b := float64(a);
# float转化成int
c := int(b);
c := int32(b);
c := int64(b);
3. Python
3.1 字符串操作
3.1.1 构建String
# 直接赋值
str = "hello";
3.1.2 String拆分转列表
# 拆分成数组, 按照空转换成字符串
s = "the sky is blue"
strList = list(s)
# 拆分成数组
s = "the sky is blue"
strList = s.split(" ")
3.1.3 列表拼接成String
# 列表拼接成字符串
strList = ["the", "sky", "is", "blue"]
s = " ".join(strList)
3.1.4 寻找第一个匹配的子字符串
s = "the sky is blue";
sub = "sky";
# 返回第一个匹配的元素下标,如果不能匹配,返回-1
index := s.find(sub)
1.1.5 判断2个字符串是否相同
s1 = "the sky is blue";
s2 = "sky";
# 使用==方法判断
if (s1 == s2)) {
print(s1, "equals", s2)
} else {
print(s1, "not equals", s2)
}
3.1.6 String和数字的相互转换
# string转int
s = "3"
c = int(s)
# int转string
d = str(c)
3.1.7 String排序
str = "abc"
strList = list(str)
strList.sort()
str = "".join(strList)
3.2.1 数字类型的相互转化
3.2.1 数字类型的相互转化
# int转float和double
a = 1
b = float(a)
# float转化成int
c := int(b);