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中一些内置的方法里发布的有,如有需要补充请评论留言。

原文地址:https://www.cnblogs.com/fallen-seraph/p/Collection.html

时间: 2024-12-28 17:58:43

Java中的集合和常用类的相关文章

java中必须知道的常用类

1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据类型也具备对象的特性,Java为每个数据类型都提供了一个包装类,这样我们就可以像操作对象一样,操作这些基本数据类型了 常见的包装类和基本类型对应关系如下: 包装类主要提供了两类方法: 1.进行多个类型之间的转换 2.将字符串和本类型及包装类相互转换 比如下面代码: 1 int i = 2; 2 In

java中必须了解的常用类

java中的包装类 为何有包装类的出现? 基本数据类型不具备对象的特性的,比如基本类型不能调用方法.功能简单. 为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 每个基本类型都有相对应的包装类: 包装类主要提供了两大类方法: 将本类型和其他基本类型进行转换的方法. 将字符串和本类型及包装类互相转换的方法 下面看一个例子: public class HelloWorld { public static void ma

java中的集合操作类(未完待续)

申明: 实习生的肤浅理解,如发现有错误之处,还望大牛们多多指点 废话 其实我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList<XXXXX>(); 但是我仅仅只是了解,list这个类是一个可变长用来存储的对象实例的类,我甚至觉得这个List对象可以理解成数组,但是却又与java中咱们正常理解的数组很多的不同,比如说,他的长度可以随着需要自动增长,比如说,实例化一个List类就和咱们声明数组的时候是不一样的! 今天的实习生活

java中各种集合的用法和比较

一,java中各种集合的关系图 Collection       接口的接口     对象的集合 ├ List             子接口         按进入先后有序保存   可重复 │├ LinkedList    接口实现类     链表     插入删除   没有同步   线程不安全 │├ ArrayList     接口实现类      数组     随机访问   没有同步   线程不安全 │└ Vector        接口实现类       数组              

Java中的集合(一)

1.Java集合概述 在编程中,常常需要集中存放多个数据.当然我们可以使用数组来保存多个对象.但数组长度不可变化,一旦在初始化时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就显得无能为力了:而且数组无法保存具有映射关系的数据,如成绩表:语文-80,数学-90,这种数据看上去像两个数组,但这两个数组的元素之间有一定的关联关系. 为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供了集合类.集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类.所有集

JAVA笔记整理(九),JAVA中的集合

在工作中,我们经常需要将多个对象集中存放,可以使用数组,但是数组的长度一旦固定之后是不可变的,为了保存数量确定的数据,我们可以使用JAVA中的集合. 在我看来,JAVA中的集合可以看作是一个特殊的数据库,可以针对这个数据库进行数据的增删查改,可以查看数据库的大小,查看数据库是否为空等等. JAVA中的集合是由Collection和Map两个接口派生出来的,正因为是两个接口,所以只能通过其子类来将其实例化,下图为常用集合: Collection是List.Queue和Set接口的父接口,Map是H

Java中的集合框架-Map

前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从本篇开始,对集合框架里的另外一部分Map作一下记录. 一,集合框架的Map接口 Map与Collection不同之处在于它是以键值对来存储数据: Map比较常用的实现类有四个:HashTable,HashMap,LinkedHashMap,TreeMap: Map的方法也可以分为四类,增删改查,大致如下: 新

java中的集合框架

由于数组具有属性单一,长度不可改变的缺点,于是在程序中我们使用集合来代替它. 集合中不可放入基本数据类型,基本数据类型都是通过自动拆包和自动装箱功能才能放入和取出集合. 分类:Collection接口和Map接口 Collection:存放单一值元素,又可分为list接口类型和set接口类型 list接口类型:存放元素是有序的可重复的,可通过循环来取出其中的元素,实现类ArrayList() set接口类型:hash值排列,存放元素是无序不可重复的,通过指针取出其中元素,实现类HashSet()

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge