初入java,一脸蒙蔽pizer是也

最后更新:

java基础函数整理

  

  • 比较两个字符串
1
2
3
两个字符串A和B,
A.compareTo(B) //区分大小写比较
A.compareToIgnoreCase(B) // 忽略大小写比较
  • 查找字符串最后一次出现的位置
1
2
3
字符串strOrig,lastIndex是查找字符串最后一次出现的位置(若为-1则不存在字符串内)
String strOrig = "Hello world ,Hello Runoob";
int lastIndex = strOrig.lastIndexOf("Hello");
  • 删除字符串中的一个字符
1
2
字符串str,
removeCharAt(str, 3)
  • 字符串替换
1
2
3
字符串str,
String str="Hello World";
str.replaceFirst("He", "Wa")
  • 字符串反转
1
2
3
4
5
String string="runoob";
String reverse = new StringBuffer(string).
reverse().toString();
System.out.println("字符串反转前:"+string);
System.out.println("字符串反转后:"+reverse);
  • 字符串搜索
1
2
3
4
5
6
7
String strOrig = "Google Runoob Taobao";
int intIndex = strOrig.indexOf("Runoob");
if(intIndex == - 1){
System.out.println("没有找到字符串 Runoob");
}else{
System.out.println("Runoob 字符串位置 " + intIndex);
}
  • 字符串分割
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String str = "www-runoob-com";
String[] temp;
String delimeter = "-"; // 指定分割字符
temp = str.split(delimeter); // 分割字符串
// 普通 for 循环
for(int i =0; i < temp.length ; i++){
System.out.println(temp[i]);
System.out.println("");
}
System.out.println("------java for each循环输出的方法-----");
String str1 = "www.runoob.com";
String[] temp1;
String delimeter1 = "\."; // 指定分割字符, . 号需要转义
temp1 = str1.split(delimeter1); // 分割字符串
for(String x : temp1){
System.out.println(x);
System.out.println("");
}
  • 字符串小写转大写
1
2
3
4
String str = "string runoob";
String strUpper = str.toUpperCase();
System.out.println("原始字符串: " + str);
System.out.println("转换为大写: " + strUpper);
  • 数组排序及元素查找
1
2
// binarySearch第一个参数为要查找的数组,第二个参数是要查找的值
int index = Arrays.binarySearch(array, 2);
  • 数组添加元素
1
2
// insertElement第一个参数为要添加的数组,第二个参数是要插入的位置,第三个参数是要插入的值
array = insertElement(array, 1, newIndex);
  • 获取数组长度
1
data.length
  • 数组反转
1
2
arrayList为要反转的数组
Collections.reverse(arrayList);
  • 数组获取最大和最小值
1
2
3
numbers是一个数组,Arrays.asList()将一个数组转化为一个List对象
(int) Collections.min(Arrays.asList(numbers));
(int) Collections.max(Arrays.asList(numbers));
  • 数组合并
1
2
3
4
5
6
7
String a[] = { "A", "E", "I" };
String b[] = { "O", "U" };
//a和b数组都转化为list然后合并再转为数组
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));
  • 数组填充
1
2
Array.fill(arrayname,value) 方法
Array.fill(arrayname ,starting index ,ending index ,value) 方法
  • 数组扩容
1
2
3
4
5
6
7
8
9
String[] names = new String[] { "A", "B", "C" };
String[] extended = new String[5];
extended[3] = "D";
extended[4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
//输出
for (String str : extended){
System.out.println(str);
}
  • 删除数组元素
1
2
3
4
5
6
7
8
//创建数组并添加元素
ArrayList objArray = new ArrayList();
objArray.clear();
objArray.add(0,"第 0 个元素");
objArray.add(1,"第 1 个元素");
objArray.add(2,"第 2 个元素");
//删除数组元素
objArray.remove(1);
  • 数组差集
1
2
//数组objArray 减 数组objArray2
objArray.removeAll(objArray2);
  • 数组交集
1
2
//数组objArray 交 数组objArray2
objArray.retainAll(objArray2);
  • 数组中查找指定元素
1
2
//数组objArray是否有‘common1’这个元素
objArray.contains("common1");
  • 判断数组是否相等
1
2
//数组ary和数组ary1是否相等
Arrays.equals(ary, ary1);
  • 数组并集
1
2
//数组arr1和数组arr2的并集
union(arr1, arr2);
  • 格式化时间
1
2
3
4
Date date = new Date();// 获取当前时间
String strDateFormat = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);// 格式化时间
System.out.println(sdf.format(date));// 输出已经格式化的现在时间
  • 获取年份、月份等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
int year = cal.get(Calendar.YEAR);
int dow = cal.get(Calendar.DAY_OF_WEEK);
int dom = cal.get(Calendar.DAY_OF_MONTH);
int doy = cal.get(Calendar.DAY_OF_YEAR);
System.out.println("当期时间: " + cal.getTime());
System.out.println("日期: " + day);
System.out.println("月份: " + month);
System.out.println("年份: " + year);
System.out.println("一周的第几天: " + dow); // 星期日为一周的第一天输出为 1,星期一输出为 2,以此类推
System.out.println("一月中的第几天: " + dom);
System.out.println("一年的第几天: " + doy);
}
}
  • 时间戳转换成时间
1
2
3
Long timeStamp = System.currentTimeMillis(); //获取当前时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp)))); // 时间戳转换成时间