你的位置:首页 > Java教程

[Java教程]第十五天:集合


一、集合:Collection

一些方法(更多方法请参考帮助文档):增add(Object obj)、删remove()/removeAll()/clear()、改set(index,Object)、查get(index),迭代iterator()—>遍历

1:List接口

         特点:有序可重复的,可以用下标来进行操作。

         常用的类;

1.1 ArrayList:底层是以数组形式存储数据,查找效率高,增删改较低

1.2 LinkedList:底层以链表形式存储数据,查找效率低,增删改较高

2:Set接口

         特点:无序:放进去的顺序跟取出来的顺序不一样。不可重复的。

         方法跟Collection方法一样。

        

         2.1:HashSet:用哈希表去除重复元素,判断一个数据是否重复,首先是判断改数据的哈希值是否与以创建的哈希表中的值相同,如果相同就为重复,如果不同再调用equals方法比较是否相同,返回true则表示同一个数据,不会添加,否则就添加。

         2.2:TreeSet:用红黑树(平衡的二叉树)结构来存储数据。根据compareTo方法的返回值去除重复元素和排序。compareTo方法是接口Comparable中的,使用者可以在实现给接口的情况下重写该方法来自定排序规则。  

3:泛型编程 , 表示形式< >,< > 尖括号中可以放多个字母,用“,”分开<T,E>

在运用集合的时候,将运行时的错误提前到编译时期。在创建集合的时候,就规定集合元素的类型。

         3.1:泛型定义在方法上。泛型方法,返回值类型也可以用泛型表示

                   public <T> 返回值类型  方法名(T t){

                            方法体。

                   }

public <T> T  方法名(T t){

                            方法体。

                            return  t;

                   }

         T;表示任意一种引用数据类型。类型名称可以用任意字母或者单词表示,一般都用一个大写字母表示。

         ?:表示任意引用类型。有可能有多种引用数据类型

         ? extends T:表示任意T或者T子类。

         ? super T :表示任意T或者T的父类。

         3.2:泛型类

                   class 类名 <T>{

                   }

         3.3:泛型接口

Interface  类名 <T>{

                   }