整理的java常用类笔记

常用类api笔记


Object类

1. hashCOde()方法

格式:public int hashCode()

概述:返回该对象的哈希码值

注意点:要区分HashMap中的hashCode重写

  • 没重写时是根据地址值转换成一个值;HashMap的重写是根据对象的属性,进行计算成一个值

2. getClass()方法

格式:public final Class<?> getClass()

概述: 获得Class对象,返回一个当前运行时类的Class对象

注意点:获得class,用于反射之类的

3. toString()方法

格式:public String toString()

概述:返回给对象的字符串表示

注意点:object中的tostring是返回地址值,String中重写了tostring,所以才返回字符串,所以建议所有子类都重写该方法

4. equals()方法

格式:public boolean equals(Object obj)

概述:比较两个对象是否相等

注意点:

  • 面试题:equals()和“ == ”的区别
    • equals本质就是==
    • 在基本数据类型中,等等号比较的值
    • 在引用数据类型中,等号比较的是地址值是否相同;equals在引用对象中比较内容值,因为被重写了。如String

String类

①String 必须要全会

  1. length() ——返回字符串长度
  2. charAt(Int index) ——参数是Int index,返回该所索引下的字符 返回的是char
  3. indexOf(char ch) ——返回指定位置的字符在当前字符串出现的第一次索引 返回的是int index
  4. indexOf(char ch,Int index) ——返回在index索引后第一次出现的字符
  5. indexOf(String str) ——返回这个字符串str在当前字符串第一次出现的第一个位置的索引
  6. indexOf(String str,Int index) ——返回这个字符串str在index索引后第一次出现的位置的索引
  7. substring(int index) ——截取从index开始到末尾,返回一个新的字符串
  8. substring(int start,int end) ——截取从start到end的字符串,并返回
  9. contains(String str) ——是否包含str字符串,返回boolen
  10. trim() ——去掉字符串前后空格
  11. toUpperCase() ——转大写
  12. toLowerCase ——转小写
  13. statsWith(str) ——判断是否是以str开头 返回boolen
  14. statsWith(str,index) ——从index索引开始,判断是否以str开头 返回boolen
  15. endsWith(str) ——判断是否str结尾 返回boolen
  16. toCharArray() ——转变成char数组

StringBuffer类和StringBuilder类

②StringBuffer

  1. append(基本数据类型,Object…) ——末尾添加

  2. insert(位置,基本数据/Object)——在指定位置插入数据

  3. delete(int start,int end) ——删除一段

  4. deleteCharAt(int index) ——删除指定索引位置的元素

  5. replace(index1,index2,替换的字符串str) ——左闭右开,替换从index1到index2(取不到2)的位置上的数据换成 str

    stringBuffer.replace(1,3,"like");   //HolloWorld  --> HlikeloWorld
    
  6. reverse() ——倒转字符串

除了上面的增删改,还有
string的查charAt(),长度length(),indexOf(str,index),substring()

③StringBuilder

与stringbuffer一样


Arrays 数组工具类

  1. toString ——直接遍历数组,只能遍历数组
  2. sort ——排序
  3. binarySearch(int[] a,int key) 二分查找,查找前必须排序
  4. Arrays.asList({“小明”,1,new Data()}) //转成一个list

扩展:

  1. fill(数组,value) ——将数组内的所有值用value填充
  2. copyOf(数组1,数组2) ——1复制给2

Math

1)三角函数方法

public static double sin(double a)//正弦
public static double cos(double a)//余弦
public static double tan(double a)//正切
public static double asin(double a)//反正弦
public static double acos(double a)//反余弦
public static double atan(double a)//反正切
public static double toRadians(double angdeg)//将角度转换为弧度
public static double toDegrees(double angrad)//将弧度转换为角度

2)指数函数方法

public static double exp(double a)//e的a次方
public static double log(double a)//lna
public static double log10(double a)//底数为10的对数
public static double sqrt(double a)//a的平方根
public static double cbrt(double a)//a的立方根
public static double pow(double a,double b)//a的b次方

3)取整函数方法

public static double ceil(double a)//大于等于参数的最小整数
public static double floor(double a)//小于等于参数的最大整数
public static double rint(double a)//与参数最接近的整数(若相等,取偶数)
public static int round(float a)//加上0.5后与参数最接近的整数

4)取最大值、最小值、绝对值函数方法

public static double max(double a,double b)//a、b的最大值
public static double min(double a,double b)//a、b的最小值
public static double abs(double a)//绝对值

Random类

1)Math.random()方法

Math.random()//产生[0,1)的double数
(int)(Math.random()*100)//产生[0,100)的int数
50+(int)(Math.random()*100)//产生[50,150)的int数
(char)('a'+Math.random()*('z'-'a'+1))//产生a~z之间的字符
(char)(cha1+Math.random()*(cha2-cha1+1))//产生cha1~cha2之间的字符

2)Random类

除了Math.random()方法,Java还提供了一种可以获取随机数的方式,那就是java.util.Random类。

public int nextInt()
public int nextInt(int n)
public double nextDouble()
......

集合方法总结

Collection接口

抽象方法: 意味着他的子接口List、Set都有这些方法

  1. size(); //返回集合中元素的个数,并不是集合的长度或者大小

  2. add(); //向集合中添加

  3. addAll(Collection coll); //将行参coll中包含的所有元素添加到当前集合中

  4. remove(Object obj) //删除一个元素,删除成功返回true,否则返回false

  5. removeAll(Collection coll); //删除coll集合中的全部


  6. contains(obj); //返回true,判断集合中是否有obj

  7. containsAll(Collection coll); //判断当前集合是否包含coll中所有的元素

  8. retainAll(Collection coll); //取交集

  9. equals(object obj); //判断两个集合中是否完全相同

  10. isEmpty(); //判断集合是否为空

  11. clear(): //清空集合元素

  12. hashCode() //计算hashCode

  13. toArray() //将集合转化为数组

  14. iterator() //返回一个迭代器

    • iterator.hasNext(); //判断下一个位置是否不为空 起始位置在-1位置

    • iterator.next(); //下标下移,然后返回该位置上的数

总结:增删改查只有增和删,因为是父接口,list和set中的改和查不同,所以由各自接口去定制

遍历集合方式

  1. for循环
  2. for each循环 底层是迭代器
  3. 迭代器 iterator

List接口

相当于在Collection的基础上新增了方法,由于list是动态数组的结构,查询方便,

  1. set(index, obj) ; //将位置为index更改为obj元素 改

  2. get(index); //查 根据索引index返回位置的元素

  3. add(int index,obj); //插入到指定位置上

  4. indexof(obj); //返回当前对象在集合中首次出现的位置,找不到返回-1

  5. LastIndexOf(obj); //返回obj元素在集合中最后出现的位置

  6. subList(int fromIndex,int toIndex); //获取从fromIndex到toIndex截取左闭右开的集合

总结:list中有提供remove方法,但是参数一个是索引,一个是obj,优先索引删除

Set接口

set基本没有新增,使用Collection的方法

hashset中的add有个特性,当添加的值以及在容器中时,会返回false。如果添加的值不在容器中的话,返回true;


img

Map接口

  1. put(entry) //添加

    • put添加有个特性,当添加的值的key不重复,即不与容器中的key重复,返回null,否则返回该添加值的key;
    • value相不相同都不影响这个返回类型
  2. putAll(map) //添加另一个map

  3. clear() //把map中的值全部删除

  4. containsKey(Object key); //是否包含key为key的元素,返回boolen

  5. containsValue(Object value); //有着返回true

  6. equals(obj) //判断两个map集合是否相同

  7. remove(obj) // 删除key为 obj的元素

  8. isEmpty() //是否为空

  9. size() //个数

  10. values() //返回手游的value到一个collection集合


  11. keySet() //返回map集合中的key,放到set中

  12. get(key) //通过key值,获取value

  13. entrySet() //返回map到一个set集合中,以key=value的方式返回到set中

遍历Map方式

四种方式

1、for循环

2、迭代器循环

3、keySet循环

  • 就是用keySet方法,将Map中的全部key放到一个set中,然后通过map.get(key)方法拿到value
  • 效率较低推荐entrySet()

4、entrySet()迭代

  • entrySet就是将map中的entry遍历出来放到set中,再通过entry.getkey()和entry.getvalue()获取值

img

补充:一般我们遍历HashMap的时候,推荐是用这种方式。不用再通过map的get(key)方法拿值,性能会提升。参考sonar代码规范

img

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值