黑马程序员技术交流社区
标题: API常用类,Collection集合,增强for循环,泛型 [打印本页]
作者: 社会人 时间: 2018-11-14 16:07
标题: API常用类,Collection集合,增强for循环,泛型
本帖最后由 社会人 于 2018-11-14 17:02 编辑
第一天
object类 常用的APIobject
所有类的父类,顶尖类
toString方法将调用的对象的参数输出
重写如在自定义类中
快捷方式toString
equals方法判断对象是否相等(默认值为地址值)
若果需要判断值需要重写
@Override
public boolean equals(Object o) {
Data类(表示日期和时间的类)
public long getTime() 把日期对象转换成对应的时间毫秒值。
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");(表示格式)
Date parse(String source)`:将字符串解析为Date对象。
Date date = df.parse(str);
String format(Date date)`:将Date对象格式化为字符串。
String str = df.format(date);
DateFormat类
DateFormat为抽象类,不能直接使用.
需要常用的子类java.text.SimpleDateFormat.
构造方法为:
public SimpleDateFormat(String pattern)
pattern是哟个代表日期时间的自定义字符串的格式
y 年 M 月 d 日 H 时 m 分 s 秒
创建SimpleDateFormat对象的格式:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat的常用方法:format:将Date对象格式化为字符串
String str = df.format(date);
parse:将字符串解析为Date对象
Date date = df.parse(str);
Calendar类(代表日历,提供了不同国家的历法)
Calendar类是一个抽象类,无法直接创建对象使用,里面有一个genInstance()该方法返回Calendar类的子类对象
使用方法:
Calendar c=new Calendar.getInstance();
YEAR 年
MONTH 月
DAY_OF_MONTH 月中的天(几号)
HOUR 时(12小时制)
HOUR_OF_DAY 时(24小时制)
MINUTE 分 SECOND 秒
DAY_OF_WEEK 周中的天(周几,周日为1,可以-1使用)
get(获取指定日历段的值)
cal.get(Calendar.DAY_OF_MONTH);
set(设置或更改指定日历段的值)
cal.set(Calendar.YEAR, 2020);
add(调整指定日历段的值+或-)
cal.add(Calendar.YEAR, -3);
getTime()
Calendar中的getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象。
Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); System.out.println(date);
System类
currentTimeMillis()方法
currentTimeMillis方法就是 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
1-9999所需要的时间(毫秒)
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("共耗时毫秒:" + (end - start));
StringBuilder类
称为字符串缓冲区可以将字符串的拼接简化(减省内存)
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder sb1 = new StringBuilder();
System.out.println(sb1); // (空白)
sb1.append("fafw");
// 使用带参构造
StringBuilder s=new StringBuilder("itcast");
System.out.println(s); // itcast
}
}
append方法
append方法具有多种重载形式,可以接收任意类型的参数.任何数据作为参数都会将对应的字符串内容添加到StringBuilder中
StringBuilder对象append可以添加任何类型
链式编程:
builder.append("hello").append("world").append(true).append(100);
toString方法toString方法,StringBuilder对象将会转换为不可变的String对象
链式创建:
StringBuilder sb = new StringBuilder("Hello").append("World").append("Java");
第二天
Collection集合
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。
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()`: 把集合中的元素,存储到数组中
Iterator接口迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出用专业术语讲为迭代
iterator接口常用方法:增强for循环格式为:
for(元素的数据类型 变量 : Collection集合or数组)
练习:
int[] arr = {3,5,6,87};
//使用增强for遍历数组
for(int a : arr){//a代表数组中的每个元素
System.out.println(a);
}
泛型
可以在类或方法中预支地使用未知的类型
泛型的好处泛型的定义定义格式
修饰符 class 类名<代表泛型的变量> { }
含有泛型的方法定义格式
修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }
含有泛型的接口定义格式
修饰符 interface接口名<代表泛型的变量> { }
泛型的通配符当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符<?>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用
泛型的上限:
泛型的下限:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |