集合应用

集合应用
List<Dog> dogs=new ArrayList<Dog>();
  ArrayList初始化容量是10,当插入的元素超过10个以后,会重新分配空间,
  会使容器增长到16
  
  规则:(旧容量*3)/2+1

10-》16-》25-》38-》58

List<Dog> dogs=new ArrayList<Dog>(4);

4->7->11->17->26

一旦容量发生变化,就要带来额外的内存开销,和时间上的开销。
所以,在已经知道容量大小的情况下,推荐使用下面方式进行声明:
List arrayList = new ArrayList(CAPACITY_SIZE);
即指定默认容量大小的方式。

集合中能否存储基本类型数据?包装类?

基本数据类型:
   byte   short  int  long
  float  double
  boolean
  char

List<int> nums=new ArrayList<int>();//不能存储基本数据类型

底层开发人员给我们提供一些类:包装类(将基本数据类型进行了包装,对象类型)
byte     Byte
short    Short
int        Integer
long      Long
float      Float
double   Double
boolean Boolean
char       Character

1.集合的存储数据问题
2.包装类中提供大量方法

自动装箱和自动拆箱  jdk1.5

自动装箱:执行的是Integer.valueOf(10)  范围只能在-128---127之间才可以完成装箱,否则执行是new Integer
                 Integer a=10;
         Integer b=10;
         System.out.println(a==b);//true
         Integer e=new Integer(10);
         Integer f=new Integer(10);
         System.out.println(e==f);//false
         Integer c=128;
         Integer d=128;
         System.out.println(c==d);//false
         
java.lang包是自动引入到类下去使用里面的类
   String  Object
其他所有底层类都需要import引入

遍历元素
使用下标遍历                 处理简单有序的集合
for-each        遍历集合和数组,操作简单易懂
迭代器遍历(Iterator)           
最强大,任何Collection集合都可以边遍历边修 改;不需要知道元素的类型
          Iterator对Colletion进行迭代的
对JAVA集合进行遍历删除时务必要用迭代器
将狗狗的信息存在Set集合中,然后按照健康值排序输出,在
           将狗狗信息插入到Treeset集合中,会抛出ClassCastException异常?
      String 好用
     Dog     不好用
      TreeSet:以某种规则(二叉树)进行排序。
      String可以进行两个不同值内容的比较
      Dog:不能直接比较里面的值。因此当我们比较两个自定义对象的时候,一定会指定按照
            哪些属性进行排序。
* TreeSet 自然排序的功能
     * 
     *   按照对象其属性进行排序
     *  
     *  1.必须在我们类中实现Compareable接口
     *  2.必须接口中方法compare

Collection和Collections
Collection 接口  子接口:List和Set
Collections 类  工具类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值