摘要:
Set的特点 Set里面存储的元素不能重复,没有索引,存取顺序不一致。 向HashSet中添加自定义的Person对象 测试类 通过上面代码可以发现打印结果中并没有去除Person中name和age相同的对象,而且equals方法也没有被调用。重写一下Person中的hashcode方法,让ecli 阅读全文
摘要:
可变参数 在定义方法的时候不确定该定义多少个参数时,可以使用可变参数来定义,这样方法的参数个数会根据调用者来确定。注意:如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个。格式: 例: 数组和集合相互转化 集合转数组: 数组转集合,注意转换后的集合不能调用其add方法向里面添加数据 阅读全文
摘要:
增强for循环 使用增强for循环可以简化数组和Collection集合的遍历,格式: 例: 集合框架中的三种迭代方式删除数据 普通for循环,可以删除,注意让索引做自减运算 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常 增强for循环不能删除 阅读全文
摘要:
泛型的概念 在编写集合相关代码时在eclipse里面总有一些黄色警告,在不使用注解的情况下,使用泛型之后,就不会有这些黄色警告了。通过API可以看到Collection,List,ArrayList,这几个类里面都有,这个就是泛型,里面的E可以是任何引用数据类型,使用泛型指明了数据类型之后,这个集合 阅读全文
摘要:
LinkedList特有方法 public void addFirst(E e)及addLast(E e) public E getFirst()及getLast() public E removeFirst()及public E removeLast() public E get(int inde 阅读全文
摘要:
List的三个子类的特点 因为三个类都实现了List接口,所以里面的方法都差不多,那这三个类都有什么特点呢? ArrayList:底层数据结构是数组,查询快,增删慢。线程不安全,效率高。 Vector:底层数据结构是数组,查询快,增删慢。线程安全,效率低。Vector相对ArrayList查询慢(线 阅读全文
摘要:
数组数据结构 特点:查询和修改快增加和删除慢ArrayList和Vector的底层是使用数组的数据结构在ArrayList中初始化的长度是10,如果长度不够用了,每次会增加之前长度的50%,然后将旧的集合中的数据拷贝到新的集合中。Vector每次扩容的长度是之前的一倍数组结构图: 为什么查询和修改快 阅读全文
摘要:
Vector是在jdk1.0版本中就存在的,当时的集合体系还没有现在这么多,在jdk1.2中Vector才实现了Collection接口,不过随着jdk的不断更新,这个类已经逐渐被ArrayList所替代,这里简单介绍下Vector里面特有的方法 阅读全文
摘要:
List迭代时修改元素的问题 请编写代码完成以下需求:判断一个List里面是否包含monkey,如果包含的话,向集合中添加1024这个字符串。‘ 上面代码在向list中添加完元素之后再执行到String str = (String)iter.next();这行时,报出ConcurrentModifi 阅读全文
摘要:
List里面的特有方法简介 List中除了Collection里面的方法以外,内部还有一些方法,通过这些方法,开发者可以更方便的操作List接口的实现类。 阅读全文