java集合框架课 总结
今天老师为我们讲了集合框架的一些内容,下面我从这几个方面进行总结。
1.什么是集合框架?
2.list,set,map三者的特点及基本使用。
①.熟悉List接口,了解何时以及如何使用ArrayList或者LinkedList来存储元素
②熟悉Set接口,了解何时及如何使用HashSet,LinkedHashSet或TreeHashSet来存储元素
③理解Collection和Map的区别,知道何时及如何使用HashMap,LinkedHashMap,TreeHashMap来存储[/color]
====================================================================================================================================================================
[color=brown]1.集合框架是什么?
了解集合框架之前,我们先得知道什么是集合,所谓集合是指把具有相同性质的一类东西,汇聚成一个整体,这样就可以称为集合。有了集合的概念,那么什么是集合框架呢?集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。
2.list,set,map三者的特点及基本使用。
① List:List接口对Collection进行了简单的扩充,它的具体实现类常用的有ArrayList和LinkedList。你可以在List容器中放入数据或者取出数据,数据的存储是有序的(根据写入的先后顺序),并且我们所写入的数据是可以出现重复情况的。ArrayList相对LinkList在随机读取速度上是有优势的,它的随机读取速度是非常之快的。而LinkList它是以链表的形式进行存储的,因此在插入和删除操作中具有很大优势。我们在对Lits进行数据查找时,根据的是数据所在的索引。 下面是一段关于ArrayList一些简单操作的代码。
import java.util.List;import java.util.ArrayList;import javax.swing.text.html.HTMLDocument.Iterator;public class listdemo {public static void main(String args[]) {List<String> list = GreatArraylist();List<String> list2 = GreatArraylist();// 在指定位置添加一个元素list.add(3, "数据100");// 添加一个collection 中的所有元素list.addAll(list2);// 从列表删除所有元素//list.clear();// 判断列表是否包含指定元素 包含返回trueSystem.out.println(list.contains("数据1"));//判断列表是否包含指定 collection中所有元素 System.out.println(list.contains(list));//判断是否与指定对象相等 相等返回trueSystem.out.println(list.equals(list));//返回列表的hash值System.out.println(list.hashCode());//找元素,找到返回其索引,没找到返回-1System.out.println(list.indexOf(list2));//迭代器//Iterator ite=(Iterator) list.iterator();//ite.next();//返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。System.out.println(list.lastIndexOf("数据100"));//移除System.out.println(list.remove(3));//printArraylist(list);}/** * 创建一个Arraylist * @return */public static ArrayList<String> GreatArraylist() {ArrayList<String> list = new ArrayList<String>();// 给List添加数据for (int i = 0; i < 10; i++) {list.add("数据" + i);}// 返回一个Arraylist对象return list;}/** * 打印输出 * @param list */public static void printArraylist(List<String> list) {System.out.println("List的长度为:" + list.size());for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}public static void printSet(Set<String> set){Iterator<String> iter = set.iterator();//得到Set集合的迭代器对象while(iter.hasNext()){//判断Set集合中是否还有元素可以进行迭代//得到集合中的数据String str = iter.next();//取出迭代器中的元素对象System.out.println(str);//输出}}import java.util.Iterator;import java.util.Map;import java.util.Set;import cn.netjava.lesson03.Student;public class MapDemo {/** * @param args */public static void main(String[] args) {Map<String,Student> map = MapDemo.createMap();MapDemo.printMap(map);System.out.println("==========================");map.put("ID100", new Student("张三",5));map.put("ID100", new Student("李四",10));map.remove("ID1");MapDemo.printMap(map);}/** * 创建一个一个Map集合框架的对象 */public static Map<String,Student> createMap(){Map<String,Student> map = new HashMap<String,Student>();//实例化一个集合对象//循环给List集合中添加数据for(int i=0;i<10;i++){map.put("ID"+i,new Student("姓名"+i,i));}return map;}public static void printMap(Map<String,Student> map){//获取到key的Set集合对象Set<String> set = map.keySet(); Iterator<String> iter = set.iterator();//得到Set集合的迭代器对象while(iter.hasNext()){//判断Set集合中是否还有元素可以进行迭代//得到集合中的数据String key = iter.next();//取出迭代器中的元素对象Student stu = map.get(key);//根据Key来获取Map的ValueSystem.out.println("Key="+key+" Value="+stu.toString());//输出}}}