• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

深入剖析java中的集合框架

java 搞代码 4年前 (2022-01-05) 25次浏览 已收录 0个评论

下面小编就为大家带来一篇深入剖析java中的集合框架。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

解析:如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,那么可以使用Java集合框架。

如果启用集合的删除方法,那么集合中所有元素的索引会自动维护。

集合完全弥补了数组的缺陷。

02.集合框架的内容

 集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法

 01.接口:表示集合的抽象数据类型

 02.实现:集合框架中接口的具体实现

 03.算法:在一个实现了某个集合框架的接口的对象身上完成某种有用的计算方法

java集合框架简图:

 

 01.Collection接口存在储存一组不唯一(允许重复),无序的对象

02.Set接口继承Collection接口,存储一组唯一(不允许重复),无序的对象

03.List接口继承Collection接口,存储一组不唯一(允许重复),有序(以元素插入的次序来放置元素,不会重新排列)的对象

04.Map接口存储一组成对的键-值对象,提供key(键)到value(值)的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。

05.Iterator接口是负责定义访问和遍历元素的接口。

下面开始介绍:

1.List接口     

List接口继承Collection接口,存储一组不唯一(允许重复),有序(以元素插入的次序来放置元素,不会重新排列)的对象

  实现List接口的常用类有ArrayList和LinkedList

ArrayList对数组进行了封装,实现了长度可变的数组

LinkedList采用链表存储方式,其优点在于插入,删除元素时效率比较高

01.ArrayList集合类

 package cn.day001; public class Penguin { private String name="无名氏"; private String sex="Q仔"; public Penguin() { } public Penguin(String name, String sex) { this.name = name; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this<strong style="color:transparent">来源gaodai#ma#com搞@@代~&码*网</strong>.sex = sex; } }

测试类:

 package cn.day001; import java.util.ArrayList; import java.util.Iterator; import java.util.List; //上机1 ArrayList集合类 public class Test { public static void main(String[] args) { //1.创建多个企鹅对象 Penguin penguin=new Penguin("楠楠","Q仔"); Penguin penguin2=new Penguin("花花","Q妹"); Penguin penguin3=new Penguin("哲哲","Q妹"); //2.创建Arraylist集合对象并把2个企鹅对象放到其中 List penguins=new ArrayList(); penguins.add(penguin); penguins.add(penguin2); penguins.add(penguin3); //3.输出集合中企鹅的数量 System.out.println("共计有"+penguins.size()+"只企鹅"); //4.通过遍历集合显示 for (int i = 0; i <penguins.size(); i++) { Penguin pg=(Penguin)penguins.get(i); System.out.println(pg.getName()+"\t"+pg.getSex()); } //5.删除集合中哲哲企鹅 penguins.remove(penguin3); //6.判断集合中是否还存在哲哲企鹅 if (penguins.contains(penguin3)) { System.out.println("存在哲哲企鹅"); }else { System.out.println("不存在哲哲企鹅"); } System.out.println(); //7.使用iterator迭代遍历 System.out.println("使用iterator遍历"); Iterator its=penguins.iterator(); while (its.hasNext()) { Penguin pg =its.next(); System.out.println("名字"+pg.getName()+"\t性别"+pg.getSex()); } System.out.println(); //8.使用foreach遍历 System.out.println("使用foreach遍历"); for (Penguin pg : penguins) { System.out.println("名字"+pg.getName()+"\t性别"+pg.getSex()); } } }

02.LinkedList集合类

 

 package cn.day001; import java.util.LinkedList; //测试LinkedList的多个特殊方法 public class Test2 { public static void main(String[] args) { //1.创建多个企鹅对象 Penguin penguin=new Penguin("楠楠","Q仔"); Penguin penguin2=new Penguin("花花","Q妹"); Penguin penguin3=new Penguin("哲哲","Q妹"); //2.创建Arraylist集合对象并把2个企鹅对象放到其中 //List penguins=new ArrayList(); LinkedList penguins=new LinkedList(); penguins.add(penguin); penguins.add(penguin2); penguins.add(penguin3); //3.输出集合中企鹅的数量 System.out.println("共计有"+penguins.size()+"只企鹅"); //4.查看集合中第一只企鹅的昵称 Penguin firstpenguins=penguins.getFirst(); System.out.println("第一只企鹅的昵称是:"+firstpenguins.getName()); //5.查看集合中最后一只企鹅的昵称 Penguin lastpenguins=penguins.getLast(); System.out.println("最后一只企鹅的昵称是:"+lastpenguins.getName()); //6.删除第一只企鹅和最后一只企鹅 penguins.removeFirst(); penguins.removeLast(); System.out.println("删除后企鹅数"+penguins.size()); } }

2.Map接口

     

01.HashMap集合类

 package cn.day002; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; //上机2 根据宠物昵称查找宠物  上机3 使用iterator迭代遍历 public class Test { public static void main(String[] args) { Map pet=new HashMap(); pet.put("嘻嘻", "狗狗"); pet.put("哈哈", "企鹅"); pet.put("呵呵", "猫猫"); Scanner input=new Scanner(System.in); System.out.println("请输入宠物昵称:"); String name=input.next(); if (pet.containsKey(name)) { String petname=pet.get(name); System.out.println(name+"对应的宠物"+petname); }else { System.out.println("对不起,没有此昵称对应的宠物"); } System.out.println(); //使用iterator迭代遍历 System.out.println("使用iterator遍历"); Set keys=pet.keySet();//取出所有的key的值 Iterator it=keys.iterator();//获取Iteratoer对象 while (it.hasNext()) { String key = (String) it.next();//取出key值 String pets=pet.get(key);//根据key取出对应的值 System.out.println("key值:"+key+"\tvalue值:"+pets); } } }

以上这篇深入剖析java中的集合框架就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是深入剖析java中的集合框架的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:深入剖析java中的集合框架

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址