• Java中的集合和常用类


    Java中的常用类:
      ▪ Object类
      ▪ Math类
      ▪ String类和StringBuffer类(字符串)
      ▪ 8种基本类型所对应的包装类
      ▪ java.util包中的类——Date类

    Object类:
      Object类是Java语言程序中所有类的父类,即承自Object类。Object类中包含了Java语言类中的所有的公共属性。
      ▪ toString()方法
      ▪ equals()方法
      ▪ getClass()方法
      ▪ clone()方法
      ▪ finalize()方法

    枚举类:
      用于储存变量的类。

    1 package Enum;
    2      //enum 创建枚举类的关键字
    3 public enum Enum {
    4     男,女
    5     //常量
    6 }
     1 package Enum;
     2 public class Test {
     3     //测试类
     4     public static void main(String[] args) {
     5         //创建一个储存枚举类的值的数组
     6         Enum[] values = Enum.values();
     7         //循环打印
     8         for (Enum u : values) {
     9             System.out.println(u);
    10         }
    11     }
    12 }

    包装类:
      包装类是将基本类型封装到一个类中,包含属性和方法,方便对象操作。包装类位于java.lang包中。
      ▪ 数据类型转换
      ▪ 有些地方只能使用包装类(引用类型)

    Math类:
      java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)。

    String类:
      String类常用操作
      ▪ 计算字符串的长度
      ▪ 比较字符串
      ▪ 连接字符串
      ▪ 提取字符串

    StringBuffer类:
      StringBuffer是String增强版

      使用StringBuffer时要声明:StringBuffer sb1 = new StringBuffer();可以直接在括号内传入字符串。
      String和StringBuffer的区别:
        ▪ String类型是一个引用类型,进行赋值之后是在内存中开辟一个地址进行储存。String类型其实是不可改变的,但是我们又能重新赋值这是因为当你对定义过的String类型的变量进行改变时,他会重新开辟一个地址来进行储存,虽然变量名是一样的,但是他们的地址不是一样的。我们打开java.lang.String发现对String的介绍是:public final class String。因为有final这个关键字,所以他是不可改变的,一旦改变就会重新开辟一个地址进行储存,而原来地址所储存的对象是没发生改变的。
        ▪ StringBuffer是可变的字符串类型,对StringBuffer定义的变量进行改变时,他是在原内存上进行改变,不会生成开辟新的内存。

      当我们定义一个字符串是如果这个字符串是要经常改变的建议使用StringBuffer进行定义,因为使用String定义每改变一次就会开辟一个新的内存,这样就会浪费内存,StringBuffer就不会出现这样的情况。

    Date类:
      表示时期和时间,提供操作日期和时间各组成部分的方法。
      SimpleDateFormat类用于定制日期时间的格式

     1 import java.text.SimpleDateFormat;
     2 import java.util.Date;
     3 
     4 public class Dome4 {
     5 
     6     public static void main(String[] args) {
     7         Date date = new Date(); // 创建日期对象
     8         SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 定制日期格式
     9         String now = formater.format(date);
    10         System.out.println(now);
    11     }
    12 
    13 }

    Calendar类:
      用于设置和获取日期/时间数据的特定部分,Calendar类提供一些方法和静态字段来操作日历:
      int get(int field)      返回给定日历字段的值
      MONTH           指示月
      DAY_OF_MONTH     指示一个月中的某天
      DAY_OF_WEEK     指示一个星期中的某天

    import java.util.Calendar;
    
    public class Dome4 {
    
        public static void main(String[] args) {
            Calendar calendar = Calendar.getInstance();
            //获取年
            System.out.println(calendar.get(Calendar.YEAR));
            // 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值
            System.out.println(calendar.get(Calendar.MONTH) + 1);
            // 获取日
            System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
            // 获取时
            System.out.println(calendar.get(Calendar.HOUR));
            // 获取分
            System.out.println(calendar.get(Calendar.MINUTE));
            // 获取秒
            System.out.println(calendar.get(Calendar.SECOND));
            // 获取星期(英国等一些国家是从星期天为第一天开始记得)所以要减一
            System.out.println(calendar.get(Calendar.DAY_OF_WEEK) - 1);
        }
    
    }

    Java中的集合:

      java中集合框架有三大类接口:List、Set、Map
      集合的特性:集合没有固定的长度,集合的长度是由内容撑开的,获取集合则要用size而不是length。集合可以直接进行添加、删除、修改等操作。

      List接口:
        定义一个List集合:List list = new ArrayList();
        List 接口存储一组不唯一,有序(插入顺序)的对象。ArrayList类实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。LinkedList类采用链表存储方式。插入、删除元素时效率比较高。
        List的常用方法及案例:
        

     1 package List;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 public class Lister {
     7     public static void main(String[] args) {
     8         List list = new ArrayList();
     9         // 因为集合长度是由内容撑开的,所以不需要定义初始值
    10 
    11         // add 在集合中添加
    12         list.add("abc");
    13         list.add("qwe");
    14         list.add("zxc");
    15         // 因为没有指定集合所存数据的类型(泛型),所以集合中的值返回的类型是object
    16         for (Object o : list) {
    17             System.out.print(o + " ");
    18         }
    19         System.out.println();
    20 
    21         // 在指定索引添加字段(其他字段后移):在索引为1的地方添加一个123
    22         // 如果添加字段索引前面的那一个值为空值时不会报错,但会运行错误,因为前面的索引里面没有值,不能直接往后面索引赋值
    23         // 例如:一个集合["abc","qwe"],不能运行add(3,字段);因为索引为2的是空值,所以不能直接往后面添加
    24         list.add(1, 123);
    25         for (Object o : list) {
    26             System.out.print(o + " ");
    27         }
    28         System.out.println();
    29 
    30         // 获得集合中该索引的字段
    31         System.out.println(list.get(1));
    32 
    33         // 获得集合中该字段的索引
    34         System.out.println(list.indexOf("abc"));
    35 
    36         // 替换指定索引位置的字段
    37         list.set(1, "xyz");
    38         for (Object o : list) {
    39             System.out.print(o + " ");
    40         }
    41         System.out.println();
    42 
    43         // 删除并返回指定索引字段
    44         Object rem = list.remove(1);
    45         //将返回的值赋值给rem,也可以不返回
    46         System.out.print("被删除掉的字段:"+rem);
    47         System.out.print(" 删除以后的集合:");
    48         for (Object o : list) {
    49             System.out.print(o + " ");
    50         }
    51         System.out.println();
    52         
    53         //判断集合是否为空
    54         System.out.println("是否为空:"+list.isEmpty());
    55         List list2 = new ArrayList();
    56         System.out.println("是否为空:"+list2.isEmpty());
    57         
    58         //片段集合中是否包含指定字段
    59         System.out.println("是否包含abc:"+list.contains("abc"));
    60         System.out.println("是否包含abcd:"+list.contains("abcd"));
    61         
    62     }
    63 }

      Set接口:
        定义一个Set集合:Set set = new HashSet();
        Set接口存储一组唯一,无序的对象,HashSet 是Set接口常用的实现类,HashSet允许集合元素值为null。
        Set常用的方法:操作数据的方法与List类似,Set接口不存在get()方法。

      Map接口:
        定义一个Map集合:Map map = new HashMap();
        存储一组成对的键-值对象,提供的映射,通过key来索引,HashMap是Map接口最常见的实现类,key不允许重复,value允许重复,添加的对象将转换为Object类型。
        Map接口常用的方法(使用方法和List相似):

        

       Collections类:
        Collections和Collection不同,前者是集合的操作类,后者是集合接口。
        Collections提供的静态方法:
          sort():      排序
          binarySearch():    查找
          fill():      替换

      关于集合的长度:集合名.size();
        System.out.println(list.size());

      注:Java中常用类的一些方法在我博客Java中一些内置的方法里发布的有,如有需要补充请评论留言。

  • 相关阅读:
    机器学习实践笔记3(树和随机森林)
    Cocos2d-x3.1回调函数具体解释
    base 64 编解码器
    HDU 4915 Parenthese sequence _(:зゝ∠)_ 哈哈
    跟我extjs5(03--在项目过程中加载文件)
    备份和还原数据库
    Android学习–Android app 语言切换功能
    Android app内语言环境切换
    Android学习–Android app 语言切换功能
    swift:自定义UICollectionViewFlowLayout
  • 原文地址:https://www.cnblogs.com/fallen-seraph/p/Collection.html
Copyright © 2020-2023  润新知