1.List:有序的 collection(也称为序列)。此接口可以对列表中每个元素的插入位置进行精确地控制。可以根据元素的在列表中的位置访问元素,并搜索列表中的元素。列表允许重复的元素。



   ArrayList: 



   特点:有序的、线性的、无固定大小的、有下标的、先进先出



   简单操作应用:

public static void main(String args[]) {

  1. // 创建一个队列对象
  2. java.util.ArrayList<String> list = new java.util.ArrayList<String>();
  3. // 装入10个数据
  4. ; i < 10; i++) {
  5. String s = "元素" + i;
  6. //加元素
  7. list.add(s);
  8. }
  9. // 遍历1
  10. ; i < list.size(); i++) {
  11. // 根据下标取出一个元素
  12. String str = list.get(i);
  13. System.out.print(str+"\t");
  14. }
  15. System.out.println();
  16. //遍历2
  17. //得到队列的迭代器对象
  18. java.util.Iterator<String> iter = list.iterator();
  19. //判断是否有数据可以迭代
  20. while(iter.hasNext()){
  21. //取出一个元素
  22. String str = iter.next();
  23. System.out.print(str+"\t");
  24. }
  25. System.out.println();
  26. //遍历3
  27. for(String str:list){
  28. System.out.print(str+"\t");
  29. }

2.Set:是简单的集合,它的对象不按特定方式排序,只是简单的把对象加入集合中。不能有重复对象。

HashSet:

特点:无序的,长度可变的,不可重复的

简单的操作应用:

public static void main(String args[]) {

  1. // 创建一个容器对象
  2. java.util.HashSet<String> sets = new java.util.HashSet<String>();
  3. // 装入10个元素
  4. ; i < 10; i++) {
  5. String s = "元素a" + i;
  6. sets.add(s);
  7. }
  8. //检验若输入加入重复的元素,在集合中的是原来的还是新加入的(结果表明是原来的)
  9. boolean b = sets.add("新来的");
  10. boolean b1 = sets.add("新来的");
  11. System.out.println(b + "<>" + b1);
  12. // 遍历1
  13. // 得到迭代器对象
  14. java.util.Iterator<String> iter = sets.iterator();
  15. while (iter.hasNext()) {
  16. String str = iter.next();
  17. System.out.print(str + "\t");
  18. }
  19. System.out.println();
  20. //遍历2
  21. for(String str:sets){
  22. System.out.print(str+"\t");
  23. }

3.Map:Map中存入的对象是一对一对的,即每个对象和它的一个名字(键:key)关联在一起,一个键(key)只能对应一个值(value),反则不然。

HashMap:

特点:无序的、不可重复的

简单的操作应用:

public static void main(String args[]) {

  1. // 创建一个映射对象
  2. java.util.HashMap<Integer, String> maps = new java.util.HashMap<Integer, String>();
  3. // 装入键值对
  4. ; i < 20; i++) {
  5. ;
  6. String name = "学生" + i;
  7. // 装入一个键值对
  8. maps.put(num, name);
  9. }
  10. //增加一个键值对,加入K相同的键值对,则会替换已经存在的键值对
  11. , "新学生");
  12. , "新学生");
  13. , "又来一个");
  14. //遍历
  15. //得到K的Set集合
  16. java.util.Set<Integer> set = maps.keySet();
  17. //遍历K的集合,得到set的迭代器
  18. java.util.Iterator<Integer> iter = set.iterator();
  19. while(iter.hasNext()){
  20. //取出一个key
  21. int num = iter.next();
  22. //根据key得到对应的Value
  23. String name = maps.get(num);
  24. System.out.println(num+"\t"+name);
  25. }

两个应用:

1.package hpw.collection;

  1. /**
  2. * 任意的一个数组,重复排序
  3. *
  4. * @author
  5. *
  6. */
  7. public class Task1 {
  8. public static void main(String args[]) {
  9. // 创建一个数组
  10. , 345, 467, 45, 786, 133, 456, 89, 45,
  11. , 786, 467, 123, 456 };
  12. int[] temp = RemoveRepeat(array);
  13. // 出去重复后,打印数组
  14. ; i < temp.length; i++) {
  15. System.out.print(temp[i] + "\t");
  16. }
  17. System.out.println();
  18. int[] newarray = sort(temp);
  19. // 排序后,打印数组
  20. ; i < newarray.length; i++) {
  21. System.out.print(newarray[i] + "\t");
  22. }
  23. }
  24. /**
  25. * 去除数组中重复的元素
  26. *
  27. * @param base
  28. *            :要去除的数组
  29. * @return:去除重复后的数组
  30. */
  31. public static int[] RemoveRepeat(int[] base) {
  32. // 创建一个集合
  33. java.util.HashSet<Integer> sets = new java.util.HashSet<Integer>();
  34. // 遍历数组,将元素装入集合
  35. ; i < base.length; i++) {
  36. int temp = base[i];
  37. // 将元素装入集合
  38. sets.add(temp);
  39. }
  40. //创建一个新的数组
  41. int[] newarry=new int[sets.size()];
  42. // 得到迭代器
  43. java.util.Iterator<Integer> ite = sets.iterator();
  44. // 遍历集合,将元素装入队列
  45. ; ite.hasNext(); i++) {
  46. newarry[i] = ite.next();
  47. }
  48. return newarry;
  49. }
  50. /**
  51. * 将数组排序
  52. *
  53. * @param base
  54. *            :原数组
  55. * @return:排序后的数组
  56. */
  57. //冒泡排序
  58. public static int[] sort(int[] base){
  59. ;i<base.length;i++){
  60. ;j<base.length;j++){
  61. if(base[i]>base[j]){
  62. int temp=base[i];
  63. base[i]=base[j];
  64. base[j]=temp;
  65. }
  66. }
  67. }
  68. return base;
  69. }
  70. }

2.package hpw.collection;

  1. import java.util.HashMap;
  2. /**
  3. * 统计重复
  4. * @author lenovo
  5. *
  6. */
  7. public class Task2 {
  8. public static void main(String args[]){
  9. // 创建一个数组
  10. , 345, 467, 45, 786, 133, 456, 89, 45,
  11. , 786, 467, 123, 456,45 };
  12. //创建一个映射
  13. java.util.HashMap<Integer, Integer> map=new java.util.HashMap<Integer, Integer>();
  14. //统计
  15. map=count(array);
  16. //打印
  17. print(map);
  18. }
  19. /**
  20. * 统计出现的次数
  21. * @param base:原数组
  22. * @return:java.util.HashMap<Integer:数组元素, Integer:出现的次数>
  23. */
  24. public static java.util.HashMap<Integer, Integer> count(int[] base){
  25. //创建一个映射
  26. java.util.HashMap<Integer, Integer> maps=new java.util.HashMap<Integer, Integer>();
  27. //遍历数组,出现重复,value+1
  28. ;i<base.length;i++){
  29. //判断是否出现重复
  30. if(maps.containsKey(base[i])){
  31. ;
  32. maps.put(base[i], value);
  33. }else{
  34. );
  35. }
  36. }
  37. return maps;
  38. }
  39. /**
  40. * 打印队列
  41. * @param map
  42. */
  43. public static void print(HashMap<Integer, Integer> map){
  44. //创建一个集合,得到K的元素
  45. java.util.Set<Integer> set=map.keySet();
  46. //遍历集合,获得迭代器
  47. java.util.Iterator<Integer> ite=set.iterator();
  48. while(ite.hasNext()){
  49. //去除key
  50. int key=ite.next();
  51. //得到相应的value
  52. int value=map.get(key);
  53. System.out.println(key+"\t"+value);
  54. }
  55. }
  56. }

java集合框架--List、Set、Map的更多相关文章

  1. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  2. 【转】Java集合框架List,Map,Set等全面介绍

    原文网址:http://android.blog.51cto.com/268543/400557 Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含 ...

  3. 34、Java集合框架List,Map,Set等全面介绍(转载)

      Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构.   Java集合框架的基本接口/类层次结构: java.util.C ...

  4. java 集合框架(十六)Map

    一.概述 Map是一个包含键值对的集合,一个map不能有重复的键(key),而且每个键至多只能对应一个值.Map同Collection一样,它的所有通用实现都会提供一个转换器构造函数,接收一个Map类 ...

  5. Java集合框架之map

    Java集合框架之map. Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等.具体可参阅API文档. 其中HashMap是无序排序. LinkedHashMap是自 ...

  6. 【JAVA集合框架之Map】

    一.概述.1.Map是一种接口,在JAVA集合框架中是以一种非常重要的集合.2.Map一次添加一对元素,所以又称为“双列集合”(Collection一次添加一个元素,所以又称为“单列集合”)3.Map ...

  7. Java集合框架中Map接口的使用

    在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不 ...

  8. 我所理解Java集合框架的部分的使用(Collection和Map)

    所谓集合,就是和数组类似——一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接 ...

  9. 【由浅入深理解java集合】(一)——集合框架 Collction、Map

    本篇文章主要对java集合的框架进行介绍,使大家对java集合的整体框架有个了解.具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set,List,Queue. ...

  10. 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射

    从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection 接口又有 3 ...

随机推荐

  1. UNIX/LINUX程序设计教程(1)-- 获取系统信息

          1.主机标识 每一台机器都有一个主机名,主机名由系统管理员指定,在网络中主机名可能是一个网络域名. 函数 gethostname() 和 sethostname() 可以用来获取和设置主机 ...

  2. 从JDK源码角度看并发锁的优化

    在CLH锁核心思想的影响下,JDK并发包以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能.比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机 ...

  3. epoll通俗讲解

        转载地址:http://yaocoder.blog.51cto.com/2668309/888374     首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O ...

  4. gcov 统计 inline 函数

    gcov 统计 inline 函数 (金庆的专栏) gcov可以统计 inline  函数,可是实际使用中碰到统计次数总是为0的现象. 假设类A的头文件为 A.h, 实现文件为 A.cpp. A 有几 ...

  5. cd 命令的具体使用说明

    cd 命令的具体使用说明

  6. 使用DBMS_LOCK控制程序并发

    在调用并发的程序时,假设两个人同时提交了某一个并发请求,并且传入了同样的参数,假设在程序中使用了对状态的控制,例如在刚进入main函数的时候马上就将状态update了,那么其中某一个人就会查不到该条数 ...

  7. (NO.00002)iOS游戏精灵战争雏形(六)

    接下来我们给MainScene场景再添加一个精灵,作为敌人. 双击SpriteBuilder中的MainScene.ccb,从控件库拖入一个CCSprite到CCPhysicsNode中,设置精灵帧为 ...

  8. 分布式进阶(十一) Docker 常见错误汇总

    NO.1 以上添加网桥的命令在Ubuntu14.04中是不可行的.正确的命令如下: brctl addbr br0 ifconfig br0 192.168.1.188 netmask 255.255 ...

  9. android官方技术文档翻译——switch 语句转换

    本文译自androd官方技术文档<Switch Statement Conversion>,原文地址:http://tools.android.com/tips/non-constant- ...

  10. 【一天一道LeetCode】#53. Maximum Subarray

    一天一道LeetCode系列 (一)题目 Find the contiguous subarray within an array (containing at least one number) w ...