1、String转int
public void test() {
String sInt = "123";
int s = Integer.parseInt(sInt);
}
其他类型转String
String s = String.valueOf(value);
括号内为索引值,左闭右开。
s1=s.substring(0,5);
访问某个位置字符
s.charAt(index);
查找字符
String s="adsff gdgs";
int a2=s.indexOf("asdf");//若没有,返回-1
2、StringBuffer
2.1、String 转 StringBuffer
StringBuffer s = new StringBuffer("abc");
2.2、append() 方法,将内容追加到StringBuffer末尾
StringBuffer s = new StringBuffer("abc");
s.append("efg");
System.out.println(s.toString());
2.3、deleteCharAt(int index) 方法,作用是删除指定位置的字符,然后将剩余的内容形成新的字符串,第一位为0
s.delete(int start,int end) 该方法的作用是删除指定区间以内的所有字符,包含start,不包含end索引值的区间。
StringBuffer s = new StringBuffer("abc");
s.append("efg");
s.deleteCharAt(2);
s.delete(0,2);
2.4、insert(int offset, String str) 方法,作用是在StringBuffer对象中插入内容,然后形成新的字符串。例如:
StringBuffer sb = new StringBuffer("TestString");
sb.insert(4,"hello");
System.out.println(sb.toString());
2.5、reverse() 方法,作用是将StringBuffer对象中的内容反转,然后形成新的字符串。例如:
StringBuffer sb = new StringBuffer("TestString");
sb.reverse();
System.out.println(sb.toString()); // ---> gnirtStseT
2.6、setCharAt(int index, char ch) 方法,作用是修改对象中索引值为index位置的字符为新的字符ch。例如:
StringBuffer sb = new StringBuffer("bc");
sb.setCharAt(1,'D'); // ---> sb = ”aDc”
3、数组与list转换
3.1、数组转list,调用Arrays.asList()方法:
String[] strings = str.split(" ");
List<String> list = Arrays.asList(strings);
4、数字
Math.max(int a, int b); Math.max(float a, float b); Math.min(int a, int b);
5、常用的现成数据结构类
list反转
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(1);
list.add(2);
Collections.reverse(list); // 使用Collections的reverse方法,直接将list反转
6、集合的Stack、Map的遍历
1.Map的遍历
public class TestMap {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
// put值
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
//最简洁、最通用的遍历方式
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
查找
if(map.containsKey(k));
if(map.containsvalue(v));
2、Stack栈的遍历
public class TestStack {
public static void main(String[] args) {
Stack<Integer> s = new Stack<Integer>();
for (int i = 0; i < 10; i++) {
s.push(i);
}
//集合遍历方式
for (Integer x : s) {
System.out.println(x);
}
System.out.println("------1-----");
// 栈弹出遍历方式
while (!s.empty()) {
System.out.println(s.pop());
}
}
}
3、HashSet
以下实例我们创建一个 HashSet 对象 sites,用于保存字符串元素:
HashSet<String> sites = new HashSet<String>();
添加元素
HashSet 类提供类很多有用的方法,添加元素可以使用 add() 方法:
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
sites.add("Zhihu");
sites.add("Runoob"); // 重复的元素不会被添加
System.out.println(sites);
}
}
执行以上代码,输出结果如下:
[Google, Runoob, Zhihu, Taobao]
在上面的实例中,Runoob 被添加了两次,它在集合中也只会出现一次,因为集合中的每个元素都必须是唯一的。
判断元素是否存在
我们可以使用 contains() 方法来判断元素是否存在于集合当中:
实例
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
sites.add("Zhihu");
sites.add("Runoob"); // 重复的元素不会被添加
System.out.println(sites.contains("Taobao"));
}
}
删除元素
我们可以使用 remove() 方法来删除集合中的元素:
计算大小
如果要计算 HashSet 中的元素数量可以使用 size() 方法:
迭代 HashSet
可以使用 for-each 来迭代 HashSet 中的元素。
// 引入 HashSet 类
import java.util.HashSet;
public class RunoobTest {
public static void main(String[] args) {
HashSet<String> sites = new HashSet<String>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
sites.add("Zhihu");
sites.add("Runoob"); // 重复的元素不会被添加
for (String i : sites) {
System.out.println(i);
}
}
}
Arrays.sort()降序排序固定用法:
使用:Arrays.sort(scores,Collections.reverseOrder());
需要注意的是 不能使用基本类型(int,double, char),如果是int型需要改成Integer,float要改成Float
例子:
Integer[] nums = new Integer[]{100, 99, 2, 58, 67, 33};
Arrays.sort(nums, Collections.reverseOrder()) ;
for(Integer i:nums){
System.out.println(i);
}