首页 > 学院 > 开发设计 > 正文

第十五天:集合

2019-11-15 01:01:18
字体:
来源:转载
供稿:网友
第十五天:集合

一、集合: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>{

}

4.集合类Collections

static
<T> int
binarySearch(List<? extends Comparable<? super T>>list, Tkey) 使用二分搜索法搜索指定列表,以获得指定对象。

staticvoidswap(List<?>list, inti, intj) 在指定列表的指定位置处交换元素。

static
<T extends Comparable<? super T>> void
sort(List<T>list) 根据元素的自然顺序 对指定列表按升序进行排序。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表