集合、泛型以及处理方法
wangjian_an
这个作者很懒,什么都没留下…
展开
-
集合的概念、类型、接口以及接口的实现类的方法描述
集合是包含多个对象的简单对象,所包含的对象称为元素。集合里面可以包含任意多个对象,数量可以变化;同时对对象的类型也没有限制,也就是说集合里面的所有对象的类型可以相同,也可以不同。集合和数组比较:集合:数量不限、类型不限数组:定长、类型单一数据结构存储分类:(1)顺序存储 (2)链式存储 (3)树形存储(4)散列存原创 2016-03-21 11:49:32 · 3091 阅读 · 1 评论 -
泛型(二)
对集合中存放元素的类型进行限定,防止后期出错。如果限定某个集合只能存放Person类对象(因为后期会把元素取出来当作Person对象来处理),这样放其它类型的对象在编译时就会报错。相当于把一个类泛化成很多个不同类型(具体化,限定化)的类。泛型使用的代码如:List persons = new ArrayList;MapString,String> m = newHashMapStrin原创 2016-03-24 18:45:22 · 416 阅读 · 0 评论 -
泛型(一)
集合中可以存储任意类型对象,但是在取出时,如果要使用具体对象的特有方法时,需要进行向下转型,如果存储的对象类型不一致,在转型过程中就会出现ClassCastException异常。这样就给程序带来了不安全性。在jdk1.5以后就有了解决方案——泛型技术:在存储元素时,就不允许存储不同类型的元素。存储了就编译失败。 所以就需要在存储元素时,在容器上明确具体的元素类型,这其实和数组定义很像。原创 2016-03-22 21:59:33 · 667 阅读 · 0 评论 -
集合 MySet方法实现增删改查
1、定义一个类,类里面有一个属性col,类型是集合类型Collection,实现下列方法:可以向col里面添加数据、修改数据、查询数据、删除数据。也就是把这个col当作一个数据存储的容器,对其实现数据的增删改查的方法。package cn.hncu.MySet3;import java.util.ArrayList;import java.util.Collect原创 2016-03-22 21:06:20 · 1408 阅读 · 0 评论 -
用集合做队列、栈
下面用代码演示,做简单的栈和队列队列+测试package cn.hncu.MySet3;import java.util.ArrayList;public class MyQueue{ private ArrayList list=new ArrayList(0);//队列用ArrayLIst最好 public boolean enqueue(E e){ r原创 2016-03-22 18:26:09 · 458 阅读 · 0 评论 -
Collection接口
Collection接口支持的其它操作,要么是作用于元素组的任务,要么是同时作用于整个集合的任务。package cn.hncu.collection;import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;import java.util.Itera原创 2016-03-21 12:03:32 · 714 阅读 · 0 评论 -
集合排序的两种方法Comparable接口和Comparator接口(比较器)
集合的排序在集合中非常常见,下面就介绍两种排序方法(以TreeMap和TreeSet举例)方法一:Comparable接口package cn.hncu.sort;import java.util.HashSet;import java.util.Iterator;import java.util.TreeSet;//※TreeSet调用add()方原创 2016-03-21 17:06:58 · 2725 阅读 · 0 评论 -
Map接口
“集合框架”提供两种常规的Map实现:HashMap和TreeMap。和所有的具体实现一样,使用哪种实现取决于特定需要。在Map中插入、删除和定位元素,HashMap是最好的选择。但如果要按顺序遍历键,那么TreeMap会更好。使用HashMap要求添加的键类明确定义了hashCode()实现(助理解:Map.keySet返回的是键的Set集合,而Set集合对hashCode实现有限制,因原创 2016-03-21 16:52:15 · 442 阅读 · 0 评论 -
List接口
List接口继承了Collection接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。1)使用List(如ArrayList)时,不会自动调用hashCode()方法。因为在List中,重复了就重复了,不需判断,保证唯一性。2)List中添加了下标index的功能,这样对List的修改可以利用set方法对指定位置的元素直接进行替换,不需原创 2016-03-21 16:43:07 · 471 阅读 · 0 评论 -
set接口
集合框架”支持Set接口两种普通的实现:HashSet和TreeSet。在更多情况下,会使用HashSet存储重复自由的集合。考虑到效率,添加到HashSet的对象需要采用恰当分配散列码的方式来实现hashCode()方法。当需要从集合中以有序的方式抽取元素时,TreeSet实现会有用处。为了能顺利进行,添加到TreeSet的元素必须是可排序的。注意:为了安全,写上hashCode()原创 2016-03-21 16:45:45 · 417 阅读 · 0 评论 -
泛型(三)
当操作的不同容器中的类型都不确定的时候,而且使用的都是元素从Object类中继承的方法,这时泛型就用通配符?来表示即可。(助理解的比方:泛型中的多态应用)对操作的类型限制在一个范围之内。比如:定义一个功能,只操作Person类型或者Person的子类型。这时可以用: ?extends E:接收E类型或者E的子类型。这就是上限。? superE: 接收E类型或者E的父类型。原创 2016-03-24 22:46:27 · 467 阅读 · 0 评论