黑马程序员-java集合框架3

来源:互联网 发布:淘宝店铺举报在哪里 编辑:程序博客网 时间:2024/05/27 20:50

------- android培训java培训、期待与您交流! ----------

Collections类

static <T extends Comparable<? super T>>T max(Collection<? extends T> coll)根据元素的自然顺序,返回给定coll的最大元素

static Object min(Collection coll)根据元素的自然顺序,返回给定collection的最小值

static<T> void fill(List<? super T> list,T obj)使用指定元素替换列表中的所有元素

static void sort(List list)根据元素的自然顺序对指定列表按升序进行排序

static void sort(List list,Comparetor c)根据指定比较器产生的顺序对指定列表进行排序

static void swap(List list,int i ,int j)在指定列表的指定位置处交换元素。

static int binarySeach(List list,T key)

static int binarySeach(List list,T key,Comparator c)

static void reverse(List list)

static Comparator reverseOrder()返回一个比较器,它强行逆转实现了Comparable接口对象collection的自然顺序

static Comparator reverseOrder(Comparator cmp)

static void  shuffle(List list)反转指定List集合中元素的顺序

Arrays:用于操作数组的工具类,里面都是静态方法

public static List asList(T... a)返回一个受指定数组支持的固定大小的列表(返回的是不可变的List(长度固定))

Properties类:

Hashtable子类:

Properties类主要功能是用于操作属性,在各个语言(包括操作系统)都会存在许多的配置文件。所有的属性文件中的属性都是按照

“key=value”的形式保存的,而且保存的内容都是字符串。

Object setProperty(String key,String value)调用hashtable的方法put

public String getProperty(String key):根据属性的名字取得属性的内容,如果没有返回null结果。

void load(InputStream/read instream)

public void list(PrintStream out)从一个输出流中显示所有的属性内容;

public void store(OutputStream out,String comments)

public void store(Write write,String comments)


泛型引入

java5出现的一种对java语言类型的一种扩展,以支持穿件可以按类型进行参数化的类,可以把类型参数看做是使用参数类型时指定的类型占位符,就好比方法的形式参数是实际参数的占位符一样。

泛型能保证大型应用程序的类型安全和良好的维护性

使用泛型的优势:

类型安全,是编译器对泛型定义的类型做出判断限制,如保证TreeSet里的元素类型必须一致;

消除强制类型的转换

泛型类:

在类声明时候通过一个标识符表示类中某个字段的类型或者某个方法的返回值或参数的类型,这样的类声明或实例化的时候只要指定自己需要的类型就OK。

可以声明多个泛型类型<PK,T>

通配符:

在进行引用传递的时候泛型类型必须匹配才可以传递,否则编译不通过;

使用?,表示未知类型的泛型对象:

这种带通配符的List仅表示各种泛型List的父类,并不能把元素添加到集合中;

List<?>list=new ArrayList<>();list.add(1); ERROR

泛型的上限与下限

设置泛型对象的上限使用extends,表示参数类型只能是该类型只能是该类型的子类 

设置泛型对象的下限使用super,表示参数类型只能是该类型或者改类型的父类