编写字符界面应用(中).ppt
《编写字符界面应用(中).ppt》由会员分享,可在线阅读,更多相关《编写字符界面应用(中).ppt(27页珍藏版)》请在三一文库上搜索。
1、编写字符界面应用(中),ID:SCSJ001-Java Basic Syntax,集合框架体系结构,2021/4/16,Java集合类(下),3,Collection接口,Collection API提供“集合”的功能 Collection API包含下述接口 Colection: 将一组对象以集合元素的形式组织到一起,在其子接口中分别实现不同的组织方式 Set: Collection的子接口,不记录元素的保存顺序,且不允许有重复元素 List: Collection的子接口,记录元素的保存顺序,且允许有重复元素,2021/4/16,Java集合类(下),4,Collections(集合) A
2、PI,一个collection(集合)是用一个对象来代表一组对象,其中的每个对象作为collection的一个元素。 在Collection API中,代表对象集合的接口有: Collection 抽象的集合 Set Collection的子接口,一个无序无重复集 List Collection的子接口,一个有序可重复集,2021/4/16,Java集合类(下),5,Collection 层次结构,2021/4/16,Java集合类(下),6,数组列表ArrayList,在编程中常常会遇到需要动态操纵数组,比如在运行时增加和删除数组元素,而且有时在编译时又不想确定数组大小希望它可以动态伸缩,在
3、java中解决这一问题的方法是使用java.util包中的ArrayList类 ArrayList是List接口的一个可变长数组实现。,2021/4/16,Java集合类(下),7,数组列表ArrayList,public int size();/返回列表中的元素个数 public Object get(int index);/返回指定位置的元素 public void set(int index, Object obj);/设置指定位置元素 public void add(Object obj);/在列表末尾增加元素 public void add(int index, Object obj
4、);/在列表指定位置插入元素 public void clear();/删除列表中所有元素 public void remove(int index);/删除列表中指定位置元素元素 public void contains(Object obj);/判断列表中指定对象是否存在,2021/4/16,Java集合类(下),8,ArrayList示例(ArrayListExample),public class ArrayListExample public static void main( String args ) ArrayList al = new ArrayList(); / Creat
5、e a new ArrayList for( int i=0; i10; i+ ) al.add( new Integer( i ) ); / Add Items to the array list for( int i=0; ial.size(); i+ ) System.out.println( i + = + al.get( i ) ); al.remove( 5 ); al.set( 5, new Integer( 66 ) ); for( Iterator i=al.iterator(); i.hasNext(); ) Integer integer = ( Integer )i.n
6、ext(); System.out.println( integer ); ,2021/4/16,Java集合类(下),9,Set 接口(例:SetTest),Set 接口继承 Collection 接口,而且它不允许集合中存在重复项,每个具体的 Set 实现类依赖添加的对象的 equals()方法来检查独一性。Set接口没有引入新方法,所以Set就是一个Collection,只不过其行为不同。,2021/4/16,Java集合类(下),10,Set 接口(例:SetTest),HashSet h = new HashSet(); h.add(1st); h.add(2nd); h.add(n
7、ew Integer(3); h.add(new Double(4.0); h.add(2nd); / 重复元素, 未被加入 h.add(new Integer(3); / 重复元素, 未被加入,2021/4/16,Java集合类(下),11,HashSet,HashSet扩展AbstractSet并且实现Set接口。它创建一个类集,该类集使用散列表进行存储。散列表通过使用称之为散列法的机制来存储信息。 在散列(hashing)中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码(hashcode)。而散列码被用来当做与关键字相连的数据的存储下标。关键字到其散列码的转换是自动执行的?你看
8、不到散列码本身。你的程序代码也不能直接索引散列表。 散列法的优点在于即使对于大的集合,它允许一些基本操作如add( ),contains( ),remove( )和size( )方法的运行,时间保持不变。,2021/4/16,Java集合类(下),12,HashSet,HashSet( )构造一个默认的散列集合 HashSet(Collection c)用c中的元素初始化散列集合 HashSet(int capacity)用capacity初始化散列集合的容量 HashSet(int capacity, float fillRatio)第四种形式用它的参数初始化散列集合的容量和填充比(也称为加
9、载容量)。填充比必须介于0.0与1.0之间,它决定在散列集合向上调整大小之前,有多少能被充满。具体的说,就是当元素的个数大于散列集合容量乘以它的填充比时,散列集合被扩大。对于没有获得填充比的构造函数,默认使用0.75.,2021/4/16,Java集合类(下),13,HashSet(例: HashSetDemo ),HashSet没有定义任何超过它的超类和接口提供的其他方法。重要的是,注意散列集合并没有确保其元素的顺序,因为散列法的处理通常不让自己参与创建排序集合。如果需要排序存储,另一种类集TreeSet将是一个更好的选择。 下面是该程序的输出:A, F, E, D, C, B如上面解释的那
10、样,元素并没有按顺序进行存储。,2021/4/16,Java集合类(下),14,Iterator接口,Iterator接口定义了对Collection类型对象中所含元素的遍历等增强处理功能 可以通过Collection接口中定义的iterator()方法获得一个对应的Iterator(实现类)对象 Set (实现类)对象对应的Iterator仍然是无序的 List(实现类)对象对应的ListIterator对象可以实现对所含元素的双向遍历: 使用next()方法和previous()方法,2021/4/16,Java集合类(下),15,Iterator接口层次,2021/4/16,Java集合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编写 字符 界面 应用
链接地址:https://www.31doc.com/p-10075246.html