1.在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法。
2.集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,
分别是java.util.List和java.util.Set.其中,List的特点是元素有序、元素可重复.Set的特点是元素无序,
而且不可重复.List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,
Set接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet.
3.Date:时间类
Date构造方法
public Date(){}
创建对象Date d = new Date();
System.out.println(d); //已固定格式返回当前系统的日期和时间
public Date(long date){}
创建都行 Date d = new Date (3742767540068L);//指定毫秒值
System.out.println(d);//打印指定毫秒值所对应的时间日期
Date 成员方法
public long getTime(); 获取当前时间的毫秒值
4.DateFormat类
Java.textDateFormat 是对日期/时间按照指定格式,格式化。(抽象类,无法直接创建对象)
解析:按照指定的格式,从Date对象转换成String对象
其中的成员方法
String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String source) 把符合模式的字符串,解析为Date日期
5.System类
java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有
public static long currentTimeMillis():返回以毫秒为单位的当前时间。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中
6.StringBuider类
java.lang.StringBuider类:字符串缓冲区
构造方法:
StringBuilder()构造一个不带任何字符的字符串生成器,其初始容量为 16 个字符。
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder的常用方法:
public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
StringBuider sb = new StringBuider();
//链式编程,方法返回的是一个对象可以继续调用这个方法。
sb.append(1).append(true).append(‘a’);
public String toString()方法 把StringBuilder转换成字符串
StringBuilder和String可以相互转换:
String->StringBuilder:可以使用StringBuilder的构造方法
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder->String:可以使用StringBuilder中的toString方法
public String toString():将当前StringBuilder对象转换为String对象。
7.包装类
通过类把基本数据类型包装起来进行使用
静态方法:
static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
成员方法:
int intValue() 以 int 类型返回该 Integer 的值。
8.基本类型与字符串类型之间的相互转换
基本类型->字符串(String)
1.基本类型的值+"" 最简单的方法(工作中常用)
2.包装类的静态方法toString(参数),不是Object类的toString() 重载
static String toString(int i) 返回一个表示指定整数的 String 对象。
String s = Intger.toString(200);
3.String类的静态方法valueOf(参数)
static String valueOf(int i) 返回 int 参数的字符串表示形式。
String s1 = String.valueOf(300);
字符串(String)->基本类型
使用包装类的静态方法parseXXX("字符串");
Integer类: static int parseInt(String s)
Double类: static double parseDouble(String s)
DAY02
9.Collection集合
Collection集合是一个接口,所有单列集合都实现了Collection接口
java.util.Collection接口
所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法
任意的单列集合都可以使用Collection接口中的方法
共性的方法:
public boolean add(E e): 把给定的对象添加到当前集合中 。
public void clear() :清空集合中所有的元素。
public boolean remove(E e): 把给定的对象在当前集合中删除。
public boolean contains(E e): 判断当前集合中是否包含给定的对象。
public boolean isEmpty(): 判断当前集合是否为空。
public int size(): 返回集合中元素的个数。
public Object[] toArray(): 把集合中的元素,存储到数组中。
10.Iterator迭代器
java.util.Iterator接口:迭代器(对集合进行遍历)
有两个常用的方法
boolean hasNext() 如果仍有元素可以迭代,则返回 true。
判断集合中还有没有下一个元素,有就返回true,没有就返回false
E next() 返回迭代的下一个元素。
取出集合中的下一个元素
Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊
Collection接口中有一个方法,叫iterator(),这个方法返回的就是迭代器的实现类对象
Iterator<E> iterator() 返回在此 collection 的元素上进行迭代的迭代器。
迭代器的使用步骤(重点):
1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合中的下一个元素
iterator删除指定元素和list.remove 不一样
ConcurrentModificationException异常 并发修改异常
11.增强for (for each)
专门用来遍历数组和集合的,他的内部原理其实就是一个Iterator迭代器
Collection<E>extends Iterable<E>:所有的单列集合都可以使用增强for
public interface Iterable<T>实现这个接口允许对象成为 "foreach" 语句的目标。
增强for只能用于遍历Collection和数组!
增强for循环:用来遍历集合和数组
格式:
for(集合/数组的数据类型 变量名: 集合名/数组名){
sout(变量名);
}
例如:
ArrayList<String> list = new ArrayList<>();
for(String str : list){
System.out.println(str);
}
12.创建集合对象,使用泛型
好处:
1.避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型
2.把运行期异常(代码运行之后会抛出的异常),提升到了编译期(写代码的时候会报错)
弊端:
泛型是什么类型,只能存储什么类型的数据
自定义一个有泛型的类,在类上定义一个尖括号
public class Demo<E>{
private E name;//成员方法类型定义成E
public E getName(){//方法返回值定义成E
return name;
}
public void setName(E name){//参数定义成E
this.name = name;
}
} |
|