当前位置:   article > 正文

JAVA中的常用API总结_java常用api汇总

java常用api汇总

1.数组Array

包含Arrays.sort(arr),数组排序,整型数组不可直接输出需要遍历后才可看到结果

Arrays.toString(arr),转为字符数组后就可以直接输出

Arrays.stream(arr).sum(),查看源码stream()API,

Arrays.stream(arr).max().getAsInt(),找数组中元素的最大值

Arrays.copyOfRange(arr,start,end),对数组进行切片遵循左闭右开

Arrays.equals(arr1,arr2),比较两个数组是否相等返回boolean类型

最后有数组的合并使用System.arraycopy(arr3,0,dd,0,arr3.length);可以查看源码arraycopy如下

public static native void arraycopy(Object src,  int  srcPos,
                                        Object dest, int destPos,
                                        int length);

  1. package com.qq.java.base;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. public class ArrayListApi {
  5. public static void main(String[] args) {
  6. int[] arr= {1,2,3,10,4,5};//定义一个整型数组
  7. int len=arr.length;// 数组求长度
  8. System.out.println(len);//输出数组的长度
  9. System.out.println("----------------");
  10. Arrays.sort(arr);//对数组进行排序
  11. for(int i=0;i<arr.length;i++) {
  12. System.out.println(arr[i]);
  13. }
  14. System.out.println("----------------");
  15. int sum=Arrays.stream(arr).sum();//使用Stream API求数组所有元素之和
  16. System.out.println(sum);
  17. System.out.println("----------------");
  18. int max=Arrays.stream(arr).max().getAsInt();//求数组所有元素最大值
  19. System.out.println(max);
  20. System.out.println("----------------");
  21. int[] test = Arrays.copyOfRange(arr,1,5);//对数组进行切片
  22. System.out.println(Arrays.toString(test));
  23. System.out.println("----------------");
  24. //toString() 可以放8中基本数据类型数组和对象数组,
  25. //返回指定数组的内容,是字符串类型
  26. String s=Arrays.toString(arr);
  27. System.out.println(s);
  28. System.out.println(arr[1]);
  29. System.out.println("----------------");
  30. //数组排序 int binarySearch()二分法排序,返回指定元素的索引值
  31. //注意:使用Ian需要将数组元素按从小大排序,否则可能返回错误值
  32. //使用多参二分法查找时,查找范围包括左边但不包括右边
  33. int index1=Arrays.binarySearch(arr, 10);
  34. System.out.println(index1);
  35. System.out.println("----------------");
  36. //数组equals boolean equals比较两个数组是否相同
  37. String[] arr3= {"白","其","其"};
  38. String[] arr4= {"白","其"," "};
  39. boolean re=Arrays.equals(arr3,arr4);
  40. System.out.println(re);
  41. System.out.println("----------------");
  42. //数组合并,使用System.arraycopy()方法
  43. String[] dd=new String[arr3.length+arr4.length];
  44. System.arraycopy(arr3,0,dd,0,arr3.length);
  45. System.arraycopy(arr4, 0, dd, arr3.length, arr4.length);
  46. System.out.println(Arrays.toString(dd));
  47. }
  48. }

2.字符串String

包含s.length()获取字符串的长度,

s.charAt()给出索引对应的字符,

s.compareTo比较字符串的大小,

s.contains(another s)字符串包含是否包含另一种字符串

Integer.parseInt(s)字符串转整数

StringBuffer和StringBuilder是可变类,String是不可变的

可变的也就是可以动态的改变字符串中的值,添加,删除或插入等动态操作。

  1. package com.qq.java.base;
  2. public class StringApi {
  3. public static void main(String[] args) {
  4. // 求字符串的长度
  5. String s="hello java ";
  6. String s1="hello world java";
  7. String s2="hello";
  8. int len=s.length();//求字符串的长度
  9. //[begin,end)之间的字符串,如果只给了begin,则end默认到原字符串末尾
  10. String sub = s.substring(1,4);//结果ell
  11. char c=s.charAt(2);//取第index个字符
  12. int r=s.compareTo(s1);//r<0代表s<s1
  13. boolean b = s.contains(s2);//s是否包含子字符串s2
  14. String s3="123";
  15. int res=Integer.parseInt(s3);//字符串转整数
  16. System.out.println(len);
  17. System.out.println(sub);
  18. System.out.println(c);
  19. System.out.println(r);
  20. System.out.println(b);
  21. System.out.println(res);
  22. //StringBuilder中常用的函数方法
  23. /**
  24. * StringBuffer和StringBuilder是可变类,String是不可变的
  25. * StringBuffer是线程安全和同步的,而StringBuilder不是,所以StringBuffer比较快
  26. * 字符串连接元素安抚(+)在内部使用String Builder类
  27. * 对于非多线程环境中的字符串操作,我们应该使用StringBuilder而非StringBuffer类
  28. */
  29. StringBuilder str=new StringBuilder();
  30. str.append("kIKi");
  31. System.out.println(str);
  32. str.insert(4, " "+s2);//在字符串的第5个位置插入s2
  33. System.out.println(str);
  34. }
  35. }

3.List

List是位于java.util下的一个接口,有序集合(也称为序列)

它的实现类常用的有三种分别为:LinkedList、ArrayList和Vector

初始化:

LinkedList<Integer> linked=new LinkedList<>();

ArrayList<Integer> array=new ArrayList<>();

Vector<Integer> v=new Vector<>();

LinkedList采用双向链表实现的列表,适用于需要经常添加和删除的数据, ArrayList是采用数组实现的链表,因此它支持随机访问,不适合频繁删除和插入操作。

实现方法可以查看源码,以下是写了部分方法

  1. package com.qq.java.base;
  2. import java.util.ArrayList;
  3. import java.util.LinkedList;
  4. import java.util.List;
  5. import java.util.Vector;
  6. public class ListApi {
  7. public static void main(String[] args) {
  8. // List是一个接口,它的实现类常用的有LinkedList/ArrayList和Vector
  9. /**
  10. * LinkedList采用双向链表实现的列表,因此可以被用作队列,堆栈,双端队列;
  11. * 顺序访问高效,随机访问性能较差、适用于需要经常添加和删除的数据
  12. * LinkedList不支持同步
  13. *
  14. */
  15. LinkedList<Integer> linked=new LinkedList<>();
  16. linked.add(1);//在链表末尾添加元素
  17. linked.add(2);
  18. linked.add(3);
  19. linked.add(4);
  20. System.out.println(linked);
  21. linked.addFirst(10);//在链表的首部添加元素
  22. System.out.println(linked);
  23. linked.add(1,12);//在所以1处添加元素(从0开始计),原先1处及之后元素后移一位
  24. System.out.println(linked);
  25. int len=linked.size();//获取链表的长度
  26. int i = linked.remove(1);//删除索引1处的元素,并返回该元素
  27. System.out.println(i);
  28. int i1=linked.get(1);//获取索引1处的元素
  29. System.out.println(i1);
  30. //Arraylist
  31. /**
  32. * ArrayList是采用数组实现的链表,因此它支持随机访问,不适合频繁删除和插入操作。
  33. * 经常进行查询的数据建议采用此结构
  34. * ArrayList与java数组的一个大的区别是ArrayList能够自动扩容
  35. * ArrayList不支持同步
  36. *
  37. */
  38. ArrayList<Integer> array=new ArrayList<>();
  39. array.add(1);
  40. array.add(2);
  41. array.add(3);
  42. array.add(4);
  43. array.add(5);
  44. System.out.println(array);
  45. int length=array.size();//获取长度
  46. System.out.println(length);
  47. array.add(1,9);//在索引1(从0开始计)处添加元素9,原先1处及之后元素后移
  48. System.out.println(array);
  49. int ele=array.get(3);
  50. System.out.println(ele);
  51. //Vector和ArrayList用法类似
  52. Vector<Integer> v=new Vector<>();
  53. v.add(1);
  54. v.add(2);
  55. v.add(3);
  56. v.add(4);
  57. int length1=v.size();//获取长度
  58. System.out.println(length1);
  59. //List是一个接口,可以将LinkedList,ArrayList和Vector的对象赋给List变量
  60. //初始化
  61. List<Integer> list1=new LinkedList<>();
  62. List<Integer> list2=new ArrayList<>();
  63. List<Integer> list3=new Vector<>();
  64. //列表转数组
  65. list2.add(1);
  66. list2.add(2);
  67. list2.add(3);
  68. list2.add(4);
  69. System.out.println(list2);
  70. //利用java的stream
  71. int[] res=list2.stream().mapToInt(Integer::intValue).toArray();
  72. System.out.println(res);
  73. //也可以直接转为Integer数组
  74. Integer[] inte=list2.toArray(new Integer[list2.size()]);
  75. System.out.println(inte);
  76. String[] arr=(String[])list2.toArray(new String[list2.size()]);
  77. System.out.println(arr);
  78. }
  79. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/322750
推荐阅读
相关标签
  

闽ICP备14008679号