首页 > 编程语言 > 详细

JAVA基础之集合

时间:2019-12-28 11:18:01      阅读:83      评论:0      收藏:0      [点我收藏+]

常见的集合有:ArrayList(链表),HashMap(散列表),HashSet(关键字不重复的散列表)

泛型:使用集合时通过泛型来限定能添加到集合的元素类型(List<E> lists =  new ArrayList(),该集合中只能添加E类型的元素)需要添加多种元素时,构造多种元素的一个父类EF,以EF为泛类的类型,即可添加其子类到集合中

遍历方法:1-迭代器:Iterator;2-增强for

技术分享图片
 1 package cn.chlinjiayi.collection; /**
 2  * @author lizhihao@iot-cas.com
 3  * @version V1.0
 4  * @description: TODO
 5  * @creat 2019-12-24-14:25
 6  */
 7 import cn.chlinjiayi.hero.Hero;
 8 import cn.chlinjiayi.item.*;
 9 import java.util.ArrayList;
10 import java.util.HashMap;
11 import java.util.Iterator;
12 import java.util.List;
13 
14 public class Collection {
15    public static void main(String[] args) {
16 
17       //---
18       //常见的集合
19       //---
20 
21       //ArrayList
22       /*无泛型的集合,任意的类型都可添加*/
23       List heros = new ArrayList();
24       heros.add(new Hero("kk"));
25       //存放人物的也可放武器
26       heros.add(new Weapon("无尽"));
27 
28       Hero h1 = (Hero) heros.get(0);
29       //转类型却会出错,武器人物不可互转
30 //    Hero h2 = (Hero) heros.get(1);
31       //输出集合的结果
32 //    System.out.println(h1.getName());
33 
34       //带泛型的集合
35       List<Hero> herosTest= new ArrayList<>();
36       herosTest.add(new Hero("sss"));
37       //不可执行,规定了集合类型,里面只可以是Hero
38 //    herosTest.add(new Weapon("春哥"));
39 
40       List<Weapon> weaponsTest = new ArrayList<>();
41       weaponsTest.add(new Weapon("穿甲弓"));
42 
43       //同时添加两种,通过父类添加
44       List<property> characterList = new ArrayList<>();
45       characterList.add(new Hero("kkk"));
46       characterList.add(new Weapon("多兰"));
47 
48       //HashMap(键值对形式,键是唯一的,用来配对应的元素值,哈希函数散列表的应用,查找速度比ArrayList快)
49       HashMap<String,String> map = new HashMap<>();
50       map.put("adc","物理英雄");
51       map.put("ap","魔法英雄");
52       System.out.println(map.get("ap"));
53 
54       //HashSet(不允许有重复值,无序,封装了HashMap,散列表关键字不允许重复)
55 
56       //---
57       //集合遍历方式
58       //----
59       //迭代器Iterator
60       List<Hero> herosIt = new ArrayList();
61       herosIt.add(new Hero("kk1"));
62       herosIt.add(new Hero("kk2"));
63       herosIt.add(new Hero("kk3"));
64       Iterator<Hero> iterator = herosIt.iterator();
65       //用while判断迭代器内是否还有元素
66       while (iterator.hasNext())
67       {
68          Hero h = iterator.next();
69          System.out.println(h.getName());
70       }
71       //增强for循环
72       for(Hero hero : herosIt){
73          System.out.println(hero.getName());
74       }
75 
76    }
77 }
View Code

JAVA基础之集合

原文:https://www.cnblogs.com/KSea/p/12092568.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!