Java基础 —— Java常用类

Java常用类:

  • java.lang包:

    • java.lang.Object类

      • hashcode()方法:返回一段整型的哈希码,代表地址。
      • toString()方法:返回父类名+"@"+哈希码(一般用于覆盖)。
      • equals()方法:返回"=="操作的布尔值(一般用于覆盖)。
      • finalize()方法:用于对象的销毁(不受人为控制,由JVM调用,遵从垃圾回收机制)。
      • clone()方法:用于对象之间的拷贝(深拷贝)。
      • getClass()方法:返回对象的字节码文件对象(通常用于反射技术)。
    • java.lang.String类:字符串已经创建,内容不可改变,只是个不断新建字符串的过程。
      • concat()方法:字符串的连接操作。
      • substring()方法:字符串的截取操作。
      • trim()方法:去除首尾空格。
      • length()方法:返回字符串长度。
      • getBytes()方法:返回字符串对应的bytes数组,可以输入指定的字符集,用来解码。
      • matches()方法:可以使用正则表达式,判断给定字符串是否符合正则表达式,返回布尔值。
      • replace()方法:字符串替换。
      • replaceAll()方法:正则替换。
      • replaceFirst()方法:正则替换第一个匹配的字符串。
      • split()方法:字符串以正则方式分割。
    • java.lang.StringBuffer类:线程安全的字符串类,比String效率高一些。
      • append(),insert(),delete(),length(),reverse(),replace(),substring()等方法
    • java.lang.StringBuilder类:同上,但是是线程不安全的,比StringBuffer效率更高。
    • java.lang.Math类:提供一些数学运算的方法,还有对以及对E和PI的常量封装。
    • java.lang.Thread类:可以通过继承这个类并覆盖相应的方法来实现多线程编程。
    • java.lang.System类:除了一些与Runtime类方法相同的方法,还有关键的标准输入输出流和错误流 in, out, err。
    • java.lang.Runtime类:包括了一些虚拟机的方法,gc(), exit()等。
    • java.lang核心包中包含所有基本数据类型的封装类:(Boolean, Byte, Short, Integer, Long, Character, Float, Double)
  • 2. java.util包:
    • java.util.Random类:生成Random对象,然后调用next()方法来生成随机数。生成原理:线性同余法 --> Rn = (a*Rn-1 + b)%M [M为范围,R0为种子,初始值]。通常也使用Math.random()乘以一定倍数来生成一定范围的随机数。
    • java.util.Collection接口:代表了所有集合的根接口,抽象了一些集合应该实现的add(), remove(), iterator(), size()等方法。该接口下有许多子接口,常用的有List, Set, Queue等子接口,分别代表有序集合,无序集合和队列。
      • java.util.List接口:有序列表,允许元素有重复。包含ArrayList, LinkedList, Vector等实现类,添加了set()和get()方法。

        • ArrayList类:效率最高,最常用的,但是是不同步的,线程不安全的,允许元素为Null。可以通过Collections.synchronizedList()方法将ArrayList对象线程安全的。
        • LinkedList类:双向链表结构,有利于元素的插入和删除,但是遍历效率比较低,线程不安全。由于继承了队列的接口,所以还拥有许多方便的头尾操作的方法。
        • Vector类:可增长的对象数组,只能存放对象。是线程安全的。
      • java.util.Set接口:无序列表,不允许有重复,但是需要覆盖hashcode()方法和equals()方法,以判断元素是否相等。包含HashSet, LinkedHashSet, TreeSet等实现类。
        • HashSet类:采用哈希表数据结构实现(实质上是HashMap实现的底层),有利于查找。不允许重复,无序,允许且只允许有一个Null元素,也是线程不安全的。
        • LinkedHashSet类:结合了哈希表和链表,使得元素也可以有序排列。线程不安全。
        • TreeSet类:有序的树结构来存储数据,可以利用TreeSet实现排序,但是需要在构造函数中传入比较器,实现compareTo()方法和equals()方法。线程不安全。
      • java.util.Queue接口:包含ArrayDeque, DelayedQuene, PriorityQueue等实现类,不常用。
    • java.util.Map接口:代表了键值对的根接口,定义了许多键值对操作相应的方法,如put(), get(), entrySet(), keySet(), values()等方法。
      • HashMap类:利用哈希表实现的键值对类,无序,允许使用Null作为键和值,该类线程不同步。
      • Hashtable类:不允许使用Null的键和值,无序,线程安全,但是效率稍低。Properties继承了Hashtable类。键对象必须实现hashcode()方法和equals()方法。存在初始容量和加载因子这两个影响因素,决定了rehash(增大表容量)操作的执行。
      • TreeMap类:基于红黑树的NavigableMap实现。线程不同步,可以通过传入比较器,实现compareTo()方法和equals()方法来实现有序排列。可以直接调用headMap()方法和tailMap()方法来截取部分Map。
    • java.util包中最重要的几个类就是集合相关的类。对于Collection,可以使用迭代器iterator来迭代遍历元素。对于Map,可以通过keySet()来得到Map的所有键Set,然后再通过get()方法得到对应的值;也可以通过entrySet()得到键和值之间的关系Set,然后再通过getKey()方法和getValue()方法得到键和值。对于Vector和Hashtable可以使用枚举接口Enumeration来迭代元素。所有的迭代过程中都不能修改集合中的值,否则会抛出ConcurrentModificationException异常。
  • 3. java.math包:
    • BigInteger类和BigDecimal类,一般用于非常巨大的数据。对象之间不能使用运算符,只能调用方法来处理。
  • 4. 国际化相关的类:
    • java.util.Date类:默认构造函数表示当前的时间,含参数的构造函数表示从1970年1月1日到现在的毫秒数。

      • 很多方法都已经过时,只剩下几个少数的方法,大部分方法都由Calendar类代替了:getTime(), before(), after(), compareTo()方法。
    • java.util.Calendar类:抽象类,可以通过getInstance()方法获得该类的实例。
      • add(), before(), after(), getTime(), get(), set()等方法,并使用该类中的常量作为参数。
    • java.util.Locale类:表示时区,语言和地区。
      • 该类中包含了许多代表国家的常量,还有一些可以获得系统相关信息的方法,如getDefault()方法可以获得虚拟机的默认语言环境等。
    • java.text.DataFormat类:简易的日期抽象类,可以通过getDateInstance()方法得到该类的日期实例,也可以通过getTimeInstance()方法获取时间的实例,并可以通过传入的参数来选择合适的日期格式(类的常量),最后通过对象.format()方法来实现日期的输出。也可以通过parse()方法来解析字符串,获得Date对象。
    • java.text.SimpleDateFormat类:继承了DateFormat类,使用构造函数获得实例,通过传入指定的日期格式来实现日期格式的全球化,最后也通过对象.format()方法来实现日期的输出。也可以通过parse()方法来解析字符串,获得Date对象。

    

时间: 2024-10-04 08:30:23

Java基础 —— Java常用类的相关文章

java基础教程-常用类(四)

四.常用类 4.1字符串相关的类(String StringBuffer) 4.1.1String类   4.1.2StringBuffer类(代表可变的) 解释一下可变和不可变 String s1 = “hello”; String s2 = “world”; s1+=s2; 实际上又开辟了一块内存,将hello和world copy进去,s1指向新的内存 而StringBuffer只是在s1后面增加了一块内存,把world加上,不需要copy String与StringBuffer只有这一定

Java基础总结--常用类以及包的访问权限

-----Object---所有类的根类1.怎么得到的:通过对所有对象不断的向上抽取共性,具备所有对象的共性的东西2.常用的方法* equals(Object obj):比较两个对象的引用是否指向同一个对象,本质就是引用地址是否相同,相同就返回true;作用和"=="一致,其子类继承后,只判断地址没有意义,一般会对该方法进行重写,重写后比较的是对象的特有内容是否相同.也用到了多态,为了代码的扩展性.eg字符串equals比较的就是内容.注意一个细节:重写后存在多态,若要访问子类特有数据

Java基础之常用类及方法(七)

String类: java.lang.String类代表不可变的字符序列. String类的常见构造方法: String(String original):创建一个String对象为original的拷贝. String(char[] value):用一个字符数组创建一个String对象. String(char[] value,int offset,int count):用一个字符数组从offset项开始的count个字符序列创建一个String对象. package MyString; pu

Java基础之常用类

一.String 1.多个字符组成的一串数据,它可以和字符数组进行相互转换 2.构造方法: public String ( )  空构造 public String (byte[ ] bytes)  把字节数组转成字符串 public String (byte[ ] bytes,int offset,int length) 把字节数组的一部分转成字符串 public String (char[ ] value) 把字符数组转成字符串 public String (char[ ] value,in

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

Java基础之装饰类

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ Java基础之装饰类:简介:首先他是一种设计模式属于23种设计模式之一,英文叫Decorator Pattern.又叫装饰者模式.装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来

Java基础-Java源文件与类

Java基础-Java源文件与类 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8654877.html

【Java菜鸟学习总结】Java基础知识(类)

目录 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 2.类 3.static关键字 4.final关键字 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 1.1.面向对象编程的特征 面向对象编程(OOP)的三大特征 { 封装; 继承; 多态; } 1.2.类与对象概述 类与对象是面向对象的核心概念. 类与对象 { 类; // 类是对于一类事物的描述,是抽象的.概念的定义. 对象; // 对象是实际存在的该类事物的每个个体,因而也别称为实例. } 2.类 2.

Java基础之File类的使用

Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法和常用方法: 在Java中File类在IO流中被频繁使用,可以使用一个文件路径来表示在特定位置上的文件,但是需要注意的是这个路径只表示一个文件抽象的概念, 文件到底在不在这个路径下是不确定,换句话说,是不能通过文件路径来判断文件是否存在. 构造方法 File(File parent, String 

Java基础--Java入门

IsCoder 标记: Java基础,Java环境配置 一.Java环境配置 Java Develop Kit(JDK安装) 系统环境变量设置(JAVA_HOME) Java源程序编辑工具 Java编译运行命令 运行经典的HelloWorld程序 1.1 JDK安装 JDK,就是甲骨文公司提供给我们的Java开发工具包,包括最常用的Javac.exe编译工具和Java.exe运行工具.需要指出的是,JDK中已经包含了JER(Java Runtime Environment,Java运行时环境),