黑马程序员 集合

---------------------- ASP.Net+Android+IOS开发 、 .Net培训 期待与您交流! ----------------------

1.       对于实现了List接口的集合对象时,当并发的对同一组元素进行操作时,最好用ListIterator

2.       ArrayList的初始容量为10,它的内部封装了一个可变长度数组

若容量不够则会创建一个新的数组,长度是10*15%=15

3.       Vectory的初始容量也是10,延长后会变成20

4.       contains() remove() 方法底层调用的都是equals()方法

5.       定义一个类需要往set集合中存储的时候,为了提高比较的效率,一般都需要覆盖hashCode()equals()方法

6.       ArrayList删除元素和判断元素是否存在只依赖equals() HashSet依赖hashCode() equals()

7.       TreeSet集合可以对存储的元素进行排序,故往TreeSet集合中存储的元素必须具有比较性

8.       字符串排序需要比较,比较需要调用compareTo(String  s)方法

9.       二叉树都是通过return  01 -1来比较元素是否相同

10.   泛型可以用在类上,方法上

11.   泛型中? 代表的是占位符,没有明确的类型,而T可以代表一个具体的类型

12.   泛型限定有2个限制:一个是上限,一个是下限

13.   泛型限定是用于泛型扩展用的

14.   ? 通配符(占位符)

泛型的限定:

?  extends  E:可以接收E类型或者E的子类型。上限

?  super  E:可以接收E类型或者E的父类型。下限

15.   HashSetadd方法的返回值是boolean类型,而HashMapput方法的返回值是V

V代表的是第一次向Map集合中存储的原来的那个值;

对与Map集合而言,存储相同的Key Value对,若键相同,则值覆盖

例如:System.out.println(map.put(“01”,”zhangsan01”)); //null

System.out.println(map.put(“01”,”wangwu”)); // zhangsan01

 

16.   static修饰的接口是内部接口,Entry就是Map的一个子接口

17.   Map.EntryMap中的映射关系对象,此接口包含Key Value对可以通过Map.Entry对象进行获取

18.   Entry接口为什么要定义在Map接口的内部

Entry接口中定义了用来描述Map接口中的key value对的映射规则

Entry接口定义在了Map接口的内部,具体的规则由具体的子类来实现

19.   若元素存储到哈希表中则要复写hashCode()equals()

20.   若元素存储到二叉树中则要复写compareTo(T  o) compare(T  o1  T  o2)方法

21.   对单列集合进行排序用TreeSet,对双列集合进行排序用TreeMap

22.   TreeSet的底层数据结构用的是TreeMapTreeMap只对存储元素的key进行排序

实现元素排序有2种方式,一种是让元素自身具备比较性,一种是让集合具备比较性

让元素自身具备比较性,需要让元素实现Comparable接口,让集合具备比较性需要自定义一个比较器,并实现Comparator接口

23.   泛型里面接收的都是引用数据类型

24.   集合变数组:Collection接口的 <T> T[ ] toArray(T  a)方法

25.   数组变集合:Arrays类的<T> List<T> asList(T  a)方法

26.   import static java.util.Arrays.*;//导入的是Arrays这个类中所有的静态成员

27.   方法的可变参数在使用时需注意:可变参数一定要定义在参数列表最后面

---------------------- ASP.Net+Android+IOS开发 、 .Net培训 期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值