Java 高级特性之集合篇

day01: 集合

1.集合框架 :提供接口和类,用于处理多个数据

           [间接的代替数组0]

2.集合接口和类 :
Collection接口 :存储数据不唯一,无序
List接口 : 存储数据不唯一,有序
ArrayList类 :长度可变的数组,在内训中开辟一串连续的空间
(遍历和随机访问效率高)
LinkedList类 :链表存储方式,一个数据指向下一个数据
(插入和删除效率比较高)
Set接口 : 存储数据唯一,无序
HashSet类
TreeSet类
Map接口 : 以 键-值对 形式存储
HashMap类
TreeMap类

        Collections类  :提供集合数据处理的算法

3.集合的使用:
List接口常用方法:
集合名.add :添加数据
集合名.remove():删除 根据括号中传的下标数字,或者数据
//如果内容与下标一致,默认优先下标
集合名.size():获取集合的长度
集合名. get:根据下标获取元素
集合名.contains(): 判断集合中是否存在某个元素(返回true或者flas)

    LinkedList类特有的方法: 其他类无法使用
            集合名.addFirst():首位置添加数据
            集合名.addLast():末位置添加数据
            集合名.removeFirst():删除首位置
            集合名.removeLast():删除末位置
            集合名.getFirst():获取首位元素
            集合名.getLast():获取末位元素

4.Set接口
HashSet类(速度快,效率高,安全性不足)
TreeSet类(速度慢,效率低,安全)

      				集合名.add :添加数据
                      集合名.remove():删除  根据括号中传数据元素
                                                  //如果内容与下标一致,默认优先下标
                      集合名.size():获取集合的长度
                      集合名. get:根据元素内容获取元素
                      集合名.contains(): 判断集合中是否存在某个元素(返回true或者flas)

5.Map接口:
HashMap类
TreeMap类
key ----> value 的 键值映射关系
key : 唯一,无序(所有的key合起来,就是set集合)
value: 不唯一,无序(所有的value合起来,就是Collection集合)

       集合名.put(key,value) : 添加数据 键key,值为value
       集合名.remove() : 根据键删除元素
       集合名.sizi() : 获取集合的长度个数
       集合名.containsKey(key) : 判断集合中是否存在某个键元素
       集合名.get(key) : 根据键取值
       集合名.keySet() : 获取所有的键,并返回一个set集合
       集合名.value()  : 获取所有的值,并返回一个Collection集合

day02
1.迭代器 Iterator
使用:1.将需要遍历的集合转化为迭代对象 集合名.iterator()
2.循环判断下一个是否存在 迭代对象.hasNext()
3.从迭代对象中取出已经判断过的元素 迭代对象.next()

2.枚举 Enum :由一组固定的常量组成
       作用 :类型安全,易于输入,代码清晰

3.包装类    :属于类文件,声明的都是对象,可以赋值null
                都是引用数据类型
          包装类.valueOf(): 将字符串转化为对应的包装类类型
          包装类对象.xxxValue() : 将包装类转化为基本数据类型----拆箱
                byteValue(),intValue()
                longValue(),shortValue()
                doubleValue(),floatValue()

          包装类.valueOf : 将基本数据类型转化为包装类型----装箱

           除了character之外
           包装类.parseXXX():字符串转化成基本类型
                  parseInt()
                  parseDouble()
                  ......
4.将对象或者数据以字符串的形式进行返回
        Object类提供的toString()方法
        子类对象想要进行字符串转换,只需要重写父类toString()方法

day03
1.String类的基本对象

    	new一次,一个新的对象
    String c=new String("智联");//这是俩个对象
    == 和 equals()区别
                  1.== 用于数值,equols用于字符串(不准确的)
                  2.== 比较的是地址
                  3.equols比较的是地址中的内容


2. 	字符串.equalsIgnoreCase(字符串) :  忽略大小写进行字符串内容比较
          toLowerCase() : 将大写转换为小写
          toUpperCase() : 将小写字符转化为大写


3.字符串拼接:concat() : 将字符串拼接
          字符串.indexOf(value) : 查找第一个value值出现的位置(下标从0开始)
          字符串.(value) : 查找最后一个value值出现的位置(下标0开始)
          字符串.substring(index) : 获取从index开始的字符串,包含index位置
          字符串.substring(begin,end) : 获取从begin开始到end结尾的字符串,包含begin位置,不包含end;
          字符串.trim() : 去掉字符串前后的空格

4.字符串拆分
          String[] 数组= 字符串.split();

7.Math类  基本算术运算类,
8.Random类  随机数字
9.时间:
    获取当前系统的日期对象
      Date date=new Date();
      创建用于日期格式化的对象 ()参照为日期展示的匹配形式
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E");
   用格式化对象对date进行格式化输出,返回String类型的值
    String format=sdf.format(date);
      System.out.println(format);
      用于单个抽取时间
              Calendar cal=Calendar.getInstance();


10.线程:
                StringBuffer和StringBuilder
                1.StringBuffer线程安全的,不支持多线程处理,速度慢
                2.StringBuilder线程非安全,支持多线程处理,速度快
                3.通常会牺牲安全问题,提高效率,选择StringBuilder比较多
                //sb.charAt(0) : 去对应下标的字符
                        //sb.delete(0,2) : 删除指定区间的字符包含头不包含尾
                        //sb.replace(0,2,"ab") : 替换指定区间的字符包含头不包含尾
                        //sb.reverse() : 逆向变化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值