Arrays类,包装类,正则表达式,集合

一、Arrays类
1.定义:针对数组进行操作的工具类。
提供了排序,查找等功能。
2.成员方法:toString() sort()

二、包装类
1.为什么使用包装类
包装类提供一系列属性和方法供开发人员使用 2.java面向对象语言,操作的都是类

2.包装类能做什么
使用包装类实现类型转换,进制转换,最值

3.基本类型对应的包装类
byte Byte
short Short
int Integer
long Long
double Double
float Float
char Character
boolean Boolean

4.Integer成员方法
public int intValue() 将Integer转换为int
public static int parseInt(String s)将Strinng转换为int
public static String toString(int i)将int转换为String
public static Integer valueOf(int i)将int转换为Integer
public static Integer valueOf(String s)将Strinng转换为Integer

String和int相互转换
int->String
int number = 1;
第一种:String str = ""+number;
第二种:String str = String.valueOf(number);
第三种:Integer i = new Integer(number); String str = i.toString();
第四种:String str = Integer.toString(number);

*String->int
String str = "4";
第一种:Integer i = new Integer(str); int i1 = i.intValue();
第二种:int i = Integer.parseInt(str);*

5.JDK5的新特性
* 自动装箱:把基本类型转换为包装类类型

* 自动拆箱:把包装类类型转换为基本类型

源码:

Integer num = 100;//自动装箱
num = num+200;//拆箱->装箱

反编译后:
Integer num = Integer.valueOf(100);
num = Integer.valueOf(num.intValue() + 200);

注意:
Integer i = null;
i = i+1;//NullPointerException
System.out.println(i);

反编译后:
Integer i = null;
i = Integer.valueOf(i.intValue() + 1);
System.out.println(i);

6.缓冲池:针对-128到127之间的数据,做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间

7.Character
a.定义:Character类在对象中包装一个基本类型 char 的值
b.作用:该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写
c.方法
构造:Character(char value)
成员方法:
public static boolean isUpperCase(char ch)判断字符是否是大写
public static boolean isLowerCase(char ch)判断字符是否是小写
public static boolean isDigit(char ch)判断字符是否是数字
public static char toUpperCase(char ch)转换大写
public static char toLowerCase(char ch)转换小写
d.统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)

三、正则表达式
1.定义:正则表达式:符合规则的字符串
2.正则表达式规则(规则字符在java.util.regex Pattern类中

3.正则表达式的应用

判断功能
public boolean matches(String regex)
校验手机号:11位 1 (3,5,7,8)
String regex = "1[3578]\\d{9}";
String phone = "18643435654";
System.out.println(phone.matches(regex));

分割功能
public String[] split(String regex)
String str = "a-b-c";
String[] newstr = str.split("b");

String str = "a b c";
String[] newstr = str.split(" ");

String str = "a b c d";
String[] newstr = str.split(" +");
for (int i = 0; i < newstr.length; i++) {
System.out.println(newstr[i]);
}

String str = "D:\\Program Files (x86)\\Java\\jdk1.7.0_21";
String[] newstr = str.split("\\\\");
for (int i = 0; i < newstr.length; i++) {
System.out.println(newstr[i]);
}

替换功能
public String replaceAll(String regex,String replacement)
论坛中不能出现数字字符,用*替换
String content = "哈哈哈3333AAAaaaa_";
String regex02 = "\\d";
String newStr = content.replaceAll(regex02, "*");
System.out.println(newStr);//哈哈哈****AAAaaaa_

获取功能
Pattern和Matcher类的使用
论坛中不能出现数字字符,用*替换
实现方式一:

Pattern p = Pattern.compile("\\d");
Matcher m = p.matcher("3");
boolean bool = m.matches();
System.out.println(bool);//true

实现方式二:
boolean bool1 = "3".matches("\\d");
System.out.println(bool1);//true

四、集合
1:对象数组(掌握)
(1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。
(2)案例:
用数组存储5个学生对象,并遍历数组。

2:集合(Collection)(掌握)
(1)集合的由来?
我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组
而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。
(2)集合和数组的区别?
A:长度区别
数组固定
集合可变
B:内容区别
数组可以是基本类型,也可以是引用类型
集合只能是引用类型
C:元素内容
数组只能存储同一种类型
集合可以存储不同类型(其实集合一般存储的也是同一种类型)
(3)集合的继承体系结构?
由于需求不同,Java就提供了不同的集合类。这多个集合类的数据结构不同,但是它们都是要提供存储和遍历功能的,
我们把它们的共性不断的向上提取,最终就形成了集合的继承体系结构图。

Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet

时间: 2024-10-08 12:31:30

Arrays类,包装类,正则表达式,集合的相关文章

7.Java集合-Arrays类实现原理及源码分析

Java集合---Arrays类源码解析 转自:http://www.cnblogs.com/ITtangtang/p/3948765.html 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型:采用改进的归并排序. 1.对于基本类型源码分析如下(以int[]为例): Java对Primitive(int,float等原型数据)数组采用快速排序,对

数组常见操作、Arrays类、基本数据类型包装类

数组常见操作 冒泡排序法 选择排序法 二分查找法 Arrays类 成员方法示例 基本数据类型包装类 基本类型和包装类的对应 Integer类举例 装箱和拆箱 int转换成String类型 String类型转换成int类型 原文地址:http://blog.51cto.com/13987153/2308625

第十二天:数组,异常,常用类,正则表达式

1:算法.计算的方法.每每到了数组都要讲下经典的排序和查找 1.1:排序(以下排序主要就是第二层的循环条件差别) 1.1.1:冒泡排序:相邻2个数进行比较将最大的值放到右边.所以每一轮排序都能找到一个最大的放在右边,已经在右边的就不用再比较了,所以比较的次数也会每次-1 1 public static int [] sort(int [] array){ 2 for(int i=0; i<array.length-1; i++){ 3 for(int j=0; j<array.length-i

数组 Arrays类

1.数组是一组变量集合,用来存储相同数据类型的一组数据的连续的空间. *数组名(标识符)连续空间首地址. *元素下标标明元素在数组中的位置,从0开始. *每个元素都可以通过下标来访问. *数组长度固定不变,要避免数组越界. 2.数组的使用 *声明数组   数据类型 [] 数组名; *分配空间   数组名 = new 数据类型 [大小]; *赋值   数组名 [0] = 8; *处理数据   数组名[0] = 数组名[0]*10; 边声明边赋值:数据类型 [ ] 数组名 = {数据} 使用循环:S

JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据类型也是可以引用的 一.基本数据类型的对象包装类 左为基本数据类型,又为引用数据类型 byte Byte int Integer long Long boolean Booleab float Float double Double char Character 我们拿Integer来举例子 //整

Arrays类学习笔记

Arrays.asList(arr); 该方法可以把数组变成List集合. String[] arr = {"abc","cc"}; List<String> list = Arrays.asList(arr); /* 如果数组中的元素都是对象,那么变成集合的时候,数组中的元素就直接转换成集合中的元素. 如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在. */ Arrays.toArray(new String[]); 1. 指定类型

黑马程序员——Java基础---StringBuffer、Arrays、包装类

--Java培训.Android培训.iOS培训.UI培训.PHP培训.期待与您交流! -- 一.StringBuffer类和StringBuilder类 1. StringBuffer类是线程安全的可变字符序列 2. StringBuffer和String的区别 String是一个不可变的字符序列 StringBuffer是一个可变的字符序列 3.构造方法和方法 StringBuffer的构造方法: public StringBuffer():无参构造方法 public StringBuffe

第3章 包装类&amp;正则表达式

1.1 包装类在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等.那么,想实现字符串与基本数据之间转换怎么办呢?Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了对象.封装成对象有什么好处?可以提供更多的操作基本数值的功能.8种基本类型对应的包装类如下:其中需要注意int对应的是Integer,ch

[java初探05]__数组的简单认识及Arrays类的常用方法

数组是具有相同数据类型的一组数据的集合.在程序设计中,这样的集合称之为数组.数组的每个元素都具有相同的数据类型,在Java中数组也被看为一个对象. 在里,了解了数组的定义之后, 我们知道了,数组并不是简单的由一组数组成的.而是由一组具有相同数据类型的数据组成的,可以是一组整型的数据,也可以是一组字符型的数组,这里的数可以来理解为代表的是数据,而不是数字的意思. 关于一维数组与二维数组 一维数组实际上就是一组相同数据类型的数据的线性集合. 如果一维数组中的每一个元素任然是一个数组的话,那么它就构成