java复习(集合一)

集合中的存储的元素必须是引用类型(包装类型,会进行自动装箱,拆箱)

八大基本类与其对象包装类

字节型  byte  Byte

短整型  short  Short

整型  int  Integer

长整型  long  Long

字符型  char  Character

布尔型  boolean  Boolean

单浮点型  float  Float

双浮点型  double  Double

Collection 接口

  接口中常用的方法

    boolean  add(E e)  确保添加的元素包含指定的元素

    void  clear()  移除此集合中的所有元素

    boolean  contains(Object o)  判断对象是否在集合中

    boolean  remove(Object o)  从集合中移除某个元素的单个实例

    int   size()  返回元素的个数

    Object[]  toArray()  返回包含此集合中所有元素的数组

 

Iterator 接口(迭代器只能使用一次)

    接口中常用方法

    boolean  hasNext()  如果仍有可以迭代的元素,返回true

    E  next()  返回迭代的下一个元素

 

ArrayList 类(有序,支持泛型,可写可不写)

  java.lang.Object

    java.util.AbstractCollection<E>   Collection接口的 骨架 实现类

      java.util.AbstractList<E>  List接口的骨干实现类

        java.util.ArrayList<E>

        以实现接口  Iterator

 

    常用方法

      E    get(int index)  返回指定位置的元素

      int    indexOf(Object o)  返回元素第一次出现的位置,没有返回-1

 

1 ArrayList<String> arr = new ArrayList<String>();
2 arr.add("a");
3 Iterator<String> it = arr.iterator();
4 while(it.hasNext()) {
5     System.out.println(it.next());
6 }

 

 

 

  it指向位置-1,执行 next() 后,指针后移

 

增强for循环

  jdk1.5后,Collection接口继承Iterator接口(为了实现增强for循环)

 

1 for( 数据类型    变量名 : 数组或集合 ){
2     syso(变量);
3 }

 

 

 弊端: 没有索引,不能操作数组元素

 

泛型

  指明了集合中存储的数据类型, jdk1.5后 集合出现泛型

Collection coll new ArrayList();
Collection<String> coll = new ArrayList<String>();

 

 

Java中的泛型是伪泛型,通过编译过程来控制数据类型,但是class文件中没有泛型

   带有泛型的类

public class ArrayList<E>{
 public boolean add(E e){

 }
}

  带有泛型的接口

    1)实现类先实现了接口,不理会泛型,后期创建集合对象时,制定集合的数据类型

public class ArrayList<E> implements List<E>{
}

    2)实现类同时实现了接口,也指定了数据类型

public class ArrayList<String> implements List<String>{

}

 

  泛型的通配符: ?

    需求:定义一个方法,可以多次迭代集合

public static void iterator(Collection<?> coll){
 Iterator it = coll.iterator();
 while(it.hasnext()){
  syso(it.next());
 }  
}

 

 使用通配符来代替数据类型,其他相同

 

posted @ 2018-09-21 21:47  0泡果奶  阅读(124)  评论(0编辑  收藏  举报