![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合框架
文章平均质量分 50
baidu_37278726
我要学java
展开
-
ArrayList的迭代器源码分析
调用ArrayList的iterator方法后会返回可以操作集合的迭代器。这是就有结合和迭代器两种方式可以操作元素。如果返回迭代器后再集合操作元素会抛出ConcurrentModificationException异常 int cursor; // index of next element to return int las原创 2017-04-07 16:45:20 · 720 阅读 · 0 评论 -
HashSet的判断和删除依据
HashSet的判断和删除依据。HashSet的contains方法,先判断指定对象在哈希表是否有重复地址,如果有,再用指定对象的equals方法判断地址上是否有与指定对象相同元素。有,返回true。remove方法也是这样的转载 2017-04-14 18:09:47 · 390 阅读 · 0 评论 -
TreeSet集合
import java.util.*;/*Set:无序,不可重复元素 |——HashSet:数据结构哈希表,线程非同步, |——TreeSet:可以对Set集合中元素进行排序,默认排序是字母自然顺序*/ class TreeSetDemo{ public static void main(String [] args) { TreeSet tb=new Tre转载 2017-04-15 10:55:20 · 184 阅读 · 0 评论 -
TreeSet存储自定义对象
Set:无序,不可重复元素 |——HashSet:数据结构哈希表,线程非同步, |——TreeSet:可以对Set集合中元素进行排序,默认排序是字母自然顺序需求:往TressSet集合中存储自定义对象按照学生年龄排序import java.util.*;/**/ class TreeSetDemo{ public static转载 2017-04-15 11:35:10 · 360 阅读 · 0 评论 -
二叉树--TreeSet数据结构
TreeSet:底层数据结构是二叉树。保证元素唯一性的依据,compareTo方法return 0。判断元素和remove删除元素都是依据的compareTo返回的数值。排序方式:让元素自身具备比较线,让元素实现Comparable接口,覆盖compareTo方法。顺序是从小(-1)到大(1)排序得。 二叉树只认比较返回的是-1,0,1。-1往左边放,1往右边转载 2017-04-15 19:28:38 · 1524 阅读 · 0 评论 -
按字符串长度排序——TreeSet练习
import java.util.*;/*练习:按照字符串长度排序*/class TreeSetDemo{ public static void main(String [] args) { TreeSet ts=new TreeSet(new Mycompare()); ts.add("acdf"); ts.add("ab"); ts.add("bd"); t转载 2017-04-22 10:14:51 · 229 阅读 · 0 评论 -
泛型概述
import java.util.*;/*泛型:jdk1.5版本以后出现新特性,用于解决安全问题是一个安全机制http://blog.csdn.net/LonelyRoamer/article/details/7868820?locationNum=5&fps=1此博主解释了泛型的内部机制好处:1.将运行时期出现的classCastException问题,转移到了编译时期。转载 2017-04-23 07:22:00 · 162 阅读 · 0 评论 -
泛型的概述
import java.util.*;/*泛型:jdk1.5版本以后出现新特性,用于解决安全问题是一个安全机制http://blog.csdn.net/LonelyRoamer/article/details/7868820?locationNum=5&fps=1此博主解释了泛型的内部机制好处:1.将运行时期出现的classCastException问题,转移到了编译时期。转载 2017-04-23 07:22:44 · 167 阅读 · 0 评论 -
泛型的使用
/*在 使用啊Java提供的对象时,什么时候写泛型呢?通常在集合框架中很常见只要见到《》就要定义泛型其实<>就是用来接收类型的当使用集合时,将集合中存储的数据类型作为参数传递<>中即可*/import java.util.*;class GenericDemo{ public static void main(String [] args) { TreeSet转载 2017-04-23 09:21:37 · 215 阅读 · 0 评论 -
泛型类
/*泛型类什么时候定义泛型类?当类中要操作的引用数据类型不确定的时候早期定义Object来完成扩展现在定义泛型来完成扩展*/import java.util.*;class Genericdemo{ public static void main(String []args) { Tool t=new Tool(); t.set(new Worker()); Wo转载 2017-04-23 14:33:45 · 180 阅读 · 0 评论 -
泛型方法
import java.util.*;/*泛型类定义的泛型,在整个类中有效,如果被方法使用那么泛型类的对象明确要操作的具体类型后,所有要错左的类型就固定了为了让不同方法可以操作不同类型,而且类型还不确定那么可以讲泛型定义在方法上*/class demo{ public void show(T t) { System.out.println("show"+ t); }转载 2017-04-23 14:59:38 · 225 阅读 · 0 评论 -
HashSet存储自定义对象
在HashSet集合中存储自定义对象将姓名和年龄相同的对象视为同一元素,并去除。import java.util.HashSet;import java.util.Iterator;public class Main{ public static void main(String[] args) { HashSet hs=new HashSet(); hs.add(new转载 2017-04-14 17:50:54 · 427 阅读 · 0 评论 -
HashSet
原创 2017-04-14 17:45:27 · 315 阅读 · 0 评论 -
ArrayList练习2一去除重复自定义对象
将自定义元素存到ArrayList集合,去除重复元素。比如: 存入对象,同姓名,同年龄,同一人为重复元素。思路:1.对人描述将数据封入对象。2.定义容器,将人存入。3.取出。import java.util.*;class ArrayListText{ public static void main(String []args) { ArrayList al转载 2017-04-14 16:27:24 · 249 阅读 · 0 评论 -
List集合的具体对象的特点
转载 2017-04-08 11:40:00 · 2463 阅读 · 1 评论 -
Vector中的枚举
枚举就是Vector的特有取出方法。发现枚举和迭代器很像。其实枚举和迭代时一样的。因为枚举的名称以及方法的名称都过长。所以就被迭代器取出了。注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration转载 2017-04-08 11:56:51 · 1358 阅读 · 0 评论 -
Listerator
List集合特有的迭代器,ListIterator是Iterator的子接口在迭代时,不可以通过集合对象的方法操作集合中的元素。因为会发生并发修改异常。所以,再迭代器十,只能用迭代器的方法操作元素,可以Iterator方法是有限的。只能进项删除 判断取出操作如果需要添加 修改等操作,就需要使用其子类接口ListiteratorListerat转载 2017-04-07 17:08:08 · 226 阅读 · 0 评论 -
LinkedList
void addFirst();void addLast();添加元素E getFirst();E getLast();获取元素,但不删除元素,而且集合列表为空,抛NoSuchElementExceptionE removeFirst();E removeLast();获取元素,但是元素被删除,而且集合列表为空,抛NoSuchElem转载 2017-04-08 18:34:50 · 178 阅读 · 0 评论 -
LinkedList练习
使用LinkedList模拟一个堆栈或队列数据结构堆栈:先进后出 如同水杯队列:先进先出 First in First out FIFO 如同一个水管就是创建一个新类,利用LinkedList集合,控制元素进出顺序。为什么要用LinkedList集合呢?我觉得是因为他是链表数据结构增删快的原因。mport java .util.*;class vetco转载 2017-04-09 09:54:50 · 367 阅读 · 0 评论 -
ArrayList练习一去除相同元素
去除ArrayList的相同元素import java .util.*;class vetcor{ public static void main(String[]args) { ArrayList al=new ArrayList(); al.add("java01"); al.add("java03"); al.add转载 2017-04-09 10:34:46 · 267 阅读 · 0 评论 -
为什么会有这么多容器呢d
为什么会有这么多容器呢?因为每个容器对数据存储方式都不同存储方式:数据结构原创 2017-04-03 12:24:01 · 287 阅读 · 0 评论 -
collection共性方法
import java.util.*;/*1.add方法的参数类型是Object 以便于接受任意类型对象2.集合中存储的都是对象的引用(地址)字符串也是对象,删除是会用 ==比较是不是一个对象(地址)然后从集合中删除*/class rubblish{ public static void main(String [] args) { ArrayList al1=new A原创 2017-04-03 13:32:55 · 256 阅读 · 0 评论 -
迭代器
/*什么是迭代器呢?其实就是集合的取出元素的方式 boolean hasNext() 如果仍有元素可以迭代,则返回 true。 E next() 返回迭代的下一个元素。 void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。*/import java.uti转载 2017-04-03 18:31:47 · 186 阅读 · 0 评论 -
List共性方法
Collection |--List:元素是有序的,元素可以重复,因为该集合体系有索引 |--Set:元素是无需,元素不可以重复 List: 特有方法,凡是可以操作角标的方法都是该体系特有方法增void add(index,element)boolean addAll(index,collection)删 E remo转载 2017-04-04 16:09:43 · 228 阅读 · 0 评论 -
静态泛型方法
/*静态方法不可以访问类上定义的泛型如果静态方法操作的应用数据类型不确定,可以讲泛型定义在方法上*/import java.util.*;class demo{ public static T show(T t ) { return t; }}class GenericDemo{ public static void main(String []args) {转载 2017-04-23 15:19:12 · 541 阅读 · 0 评论