Java集合(Unfinished-整理排版中)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/RodeStillFaraway/article/details/78659781

整理查询自己用


集合框架(参考:http://davidisok.iteye.com/blog/2106563)



位于java.util包中
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象 
Map接口存储一组键值对象,提供key到value的映射
Iterator 迭代器

1、ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
2、LinkedList采用链表存储方式。插入、删除元素时效率比较高
HashSet:以哈希表的形式存放元素,插入删除速度很快。
Vector是一种老的动态数组,是线程同步的,效率很低,一般不赞成使用

迭代示例(注意强转或使用泛型)
Iterator it=collection.iterator();//获得一个迭代子
while(it.hasNext()){
Object obj=it.next();//得到下一个元素
}



位于java.lang包,不用导入

实用类


枚举类型(enum)

数据常量进行约束,安全,避免取值范围错误问题,例如枚举性别变量类型为Genders,值只能取男,女


//定义枚举类型
public enum Genders{
  男,女
}


//定义性别的变量类型为指定枚举类型
public class Student{
  public Genders sex;
}


//约束了sex只能赋值枚举类型的某一个值
Student stu = new Student();
stu.sex = Genders.女;


包装类

分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte,short,int,long;浮点型float,double.其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。


注意:

1.所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例,除Character类外,其他包装类可将一个字符串作为参数构造它们的实例

Integer a=new Integer(12);  //12
Integer a=new Integer("12");  //12

Boolean b = new Boolean(true);  //true

Boolean b = new Boolean("tRuE");  //true

Character c = new Character('c');  //c

Character c = new Character("c"); //报错,无String参数类型构造器


2.Boolean类构造方法参数为String类型时,若该字符串内容为 true(不考虑大小写),则该Boolean对象表示true,否则表示false。
当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常。

Boolean b = new Boolean("222"); //false
 Integer a=new Integer("中国"); //NumberFormatException异常
 

3.XXXValue()方法可以转包装类为相应基本类型

Integer IntegerNum = new Integer(25);

int IntNum = IntegerNum.intValue();

包装类通用方法
toString()

valueOf() 直接返回静态包装方法所对应的类型,不用new,如Integer.valueOf("12")返回值同new Integer("12"),Boolean和Character比较特殊注意参数

 



猜你喜欢

转载自blog.csdn.net/RodeStillFaraway/article/details/78659781