- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA集合和泛型 泛型(Generic) 例如 设计一个类,存数坐标: 坐标的表现形式有三种: 1.X=10,Y=100 2.X=10.6,Y=100.4 3.X=“东经10.6度”,Y=“北纬100.4度” 该类该如何设计… 泛型 类中有两个属性X,Y。但是X,Y会有三种数据类型(int,float,String),要想使一个类型同时可以接受这三种类型,必须是Object类型。 Int?Integer(自动装箱)?向上转型Object float?Float(自动装箱)?向上转型Object 代码有何问题? 泛型 泛型的产生是在JDK1.5之后产生 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 只需传入设定的参数类型即可。 泛型同时也是在JDK1.5之后才生成的规范,解决数据类型安全性问题。 泛型 泛型类定义格式 [访问权限] class 类名泛型1,泛型2…{ [访问权限] 泛型类型标示 变量名; [访问权限] 泛型类型标示符 方法名; setter [访问权限] 返回值类型声明 方法名(泛型标示符 变量名) getter } 使用泛型后对类实例化: 类名称具体类 对象名称 = new 类名称具体类(); 泛型 泛型也可以在构造方法中使用 [访问权限] 构造方法([泛型类型 参数名称]){} 可以同时指定多个泛型 泛型的警告 泛型中,最好在声明类对象的时候指定好内部的数据类型,但也可以不指定。 如果不设置 所有的泛型信息被擦出(自动变成Object类型) 类集引入 数组里面可以存放数据,当我们创建了一个数组之后,它的容量就固定了,而且在其生命周期里是不能改变的。 如果数组创建好后我还想往里面增加元素那怎么办呢? 类集引入 类集实际上就是一个动态扩充的动态数组。只要内存够大,就能够任意扩充。 类集的特征: 高性能 允许不同类型以相同的方式和高度互操作方式工作 容易扩展和修改 java中的类集 java中的集合,主要分为以下3种类型: List(列表):集合中的对象按照索引位置排序,可以有重复的对象,允许按照对象在集合中的索引位置检索对象。List与数组有些相似。 ------有序,可重复 Set(集合):集合中的对象不按照特定的方式排序,并且没有重复对象。 ------无序,不可重复 Map(映射):集合中的每一个元素包含一对 键对象、值对象,集合中没有重复的键对象,值对象可以重复。 -----键值一一对应,键不重复,值可重复。 Collection 层次结构 collection接口的方法 List接口 Collection下分为很多子接口 其中有一个list接口。其中可以存放任意的数据 而且在list接口中内容是允许重复,并且使用最多. List接口比Collection接口强大很多 因为大量扩充了Collection中的方法 数组列表ArrayList 使用list接口要实现ArrayList这个子类 在编程中常常会遇到需要动态操纵数组,比如在运行时增加和删除数组元素,而且有时在编译时又不想确定数组大小希望它可以动态伸缩,在java中解决这一问题的方法是使用java.util包中的ArrayList类 ArrayList是List接口的一个可变长数组实现。 数组列表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);//在列表指定位置插入元素 public void clear();//删除列表中所有元素 public void remove(int index);//删除列表中指定位置元素元素 public void contains(Object obj);//判断列表中指定对象是否存在 List操作 添加 删除 遍历输出(有钱向后,由后向前 list独有) 按数组类型输出toArray() 判断集合是否为空 isEmpty() 截取部分集合 subList(int?fromIndex, int?toIndex) 查找指定的对象是否存在 indexOf(Object?o) contains(Object?o)
您可能关注的文档
最近下载
- 电力隧道电力隧道工程c标段施工方案.doc VIP
- 九年级物理第21章《信息的传递》全章课件.ppt VIP
- Unit 4 Fun with numbers(Get ready)外研版(三起)(2024)英语三年级上册.pptx VIP
- (妇产科)子宫内膜癌教学查房.pptx
- 供应商审核报告范文模板.docx VIP
- 机场行测考试题库.pdf VIP
- 2025年《网络设备配置与安全》课程标准.docx VIP
- 成都市盐道街中学高一入学语文分班考试真题含答案.docx VIP
- 成都市盐道街外国语2025高一入学英语分班考试真题含答案.docx VIP
- 成都市盐道街外国语2025高一入学数学分班考试真题含答案.docx VIP
文档评论(0)