A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏之松 初级黑马   /  2018-12-20 13:02  /  722 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
        }
        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马