黑马程序员 java基础之list集合



------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

集合

在集合框架中,Collection为与这个框架的顶层,它有两个子接口,List和Set

在List和Set接口下,又有很多特殊的容器。因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构,它们自身具备的特点不同。

 

Collection

作为一个集合,应该具有的方法:增删改查

在collection中,存在这样一些抽象方法

add(),增加一个元素

addAll(),一次增加一堆元素(实现并集)

remove 删除一个元素

removeAll 删除一堆元素(实现差集)A-B

retainAll 保留两个集合中共有的元素。交集

对象创建在堆内存中,而对象的引用在栈内存中。

在集合中存储的都是对象的引用(地址)。



<span style="font-size:14px;color:#000000;">ArrayList al = newArrayList();  
02.  
03.    //添加元素  
04.  
05.    al.add("01");  
06.  
07.    al.add("02");  
08.  
09.    al.add("03");  
10.  
11.    al.add("04");  
12.  
13.    //获取个数,集合的长度  
14.  
15.    System.out.println(al.size());  
16.  
17.    //删除元素  
18.  
19.    al.remove("01");  
20.  
21.    //判断元素  
22.  
23.    System.out.println(al.contains("02"));  
24.  
25.ArrayList al2 = new ArrayList();  
26.  
27.    al2.add("01");  
28.  
29.    al2.add("02");  
30.  
31.//取交集,al中存放的为交集  
32.  
33.System.out.println(al.retainAll(al2));  
34.  
35.    System.out.println(al);  
</span>

当我们取出元素中的集合时候,就可以使用迭代器,其实就是集合取出元素的方式

每个集合中有各自特定的取出方式,也就有一个特定的迭代器。取出这个类就定义在集合的内部。也就是用来取元素,在集合内部操作,这个迭代器内部类抽取了一些共性的方法,叫做Iterator接口,这个接口定义了抽象的方法,在各自不同的数据结构中,取出和判断的方式不同,故各个数据结构实现了自己特定的迭代器对象。可以使用  数据结构对象.iterator();得到其内部实现的迭代器。

Collection中,有两类常见的子接口(各自有各自体系下的特定的方法)

List:元素是有序的(按照存入的前后),元素可以重复。因为该集合体系有索引。可以在指定位置对元素进行操作。凡是带角标的,底层的实现都是数组结构。

对于List集合来说:比较元素是否相等使用的是存入元素的equals方法。

而且在删除元素的时候,也是使用equals去寻找有没有。然后去删除。

Set:元素是无序(内部其实有序,但是对于用户来说,是无序的,不根据用户的存入前后,顺序的存放)的,元素不可以重复。

对于List和Set中的共性方法,都在Collection中已经定义了,现在学习List和Set中的特殊方法。

List(最大的特定就是通过索引对集合中的元素进行操作)

增  add(index,element);

     add(index,Collection);

删  remove(index);

改   set(index,element);

查   get(index);

     subList(from,to);

     ListIterator();

<span style="font-size:14px;color:#000000;">ArrayList al = new ArrayList();  
02.  
03.    al.add("00");  
04.  
05.    //添加元素使用特有方法  
06.  
07.    al.add(1,"01");  
08.  
09.    System.out.println(al);  
10.  
11.    //删除指定位置的元素  
12.  
13.    al.remove(0);  
14.  
15.    System.out.println(al);  
16.  
17.    //修改元素。  
18.  
19.    al.set(0, "001");  
20.  
21.    System.out.println(al);  
22.  
23.     
24.  
25.    //通过角标获取元素  
26.  
27.    System.out.println(al.get(0));  
28.  
29.    //获取所有的元素  
30.  
31.    for(int x =0;x<al.size();x++)  
32.  
33.    {  
34.  
35.       System.out.println(al.get(x));  
36.  
37.    }  
38.  
39.        //使用迭代器的方式  
40.  
41.    Iterator it = al.iterator();  
42.  
43.    while(it.hasNext())  
44.  
45.    {  
46.  
47.       System.out.println(it.next());  
48.  
49.    }  
50.  
51.     
52.  
53.    //返回某一个特定元素在集合中的位置  
54.  
55.    System.out.println(al.indexOf("001"));  
56.  
57.    al.clear();  
58.  
59.    al.add("11");  
60.  
61.    al.add("12");  
62.  
63.    al.add("13");  
64.  
65.    List sub = al.subList(0,2);  
66.  
67.    System.out.println(sub);  

</span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值