文档章节

7.collection集合的介绍

Lucky_Me
 Lucky_Me
发布于 2017/06/22 00:57
字数 1102
阅读 6
收藏 0

1. 内容摘要

2. collection常用方法

 

1       Collection集合常用方法

1.1   添加

 

1.2   判断功能

 

1.3   获得集合中元素长度

 

1.4   获得集合中的元素

 

1.5   删除功能

 

1.6   将集合转数组

3.代码

package cn.ma.com;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

/**
 * Collection 集合
 * 1.Collection 集合 分类
 *         Collection
            |--List
                |--ArrayList
                |--Vector
                |--LinkedList
            |--Set
                |--HashSet
                |--TreeSet 
 *    2.常用方法
 *            2.1   增加 
 *                        add(E e)  :添加一个对象到集合     成返回true  否则返回 false
 *            2.2  判断     
 *                    contains :如果此 collection 包含指定的元素,则返回 true。更确切地讲,
 *                    当且仅当此 collection 至少包含一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true。 
 *            2.3   获得长度
 *            2.4   获取内容
 *            2.5   删除 
 *            2.6   集合转数组
 *
 */

public class collectionDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList();
        /**
         * 2.1  增加
         * 
         */
        //                        add(E e)  :添加一个对象到集合     成返回true  否则返回 false
        boolean add = list.add("hello");
        boolean add2 = list.add(null);
        System.out.println(add);//true
        System.out.println(add2);//true
            System.out.println("----------------------------------");
        /**2.2  判断  
         * 2.2.1  contains 判断字符是包含在另一个字符串中
         *     
 *                    contains :如果此 collection 包含指定的元素,则返回 true。更确切地讲,
 *                    当且仅当此 collection 至少包含一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true。
 *            2.2.2    equals(Object o) 
 *                     比较此 collection 与指定对象是否相等。
 *            2.2.3   isEmpty()
 *                        如果此 collection 不包含元素,则返回 true。

         */
            Collection c= new ArrayList();
            c.add("good");
            c.add("evening");
            c.add("Marry");
            System.out.println("集合c中是否包含字符串 Marry:"+c.contains("Marry"));
            System.out.println("集合c中是否包含字符串 hello:"+c.contains("hello"));
            System.out.println("-----------");
            System.out.println("c集合与  字符串good对象是否相同:"+c.equals("good"));
            System.out.println("-----------");
            System.out.println("c集合是否为空:"+c.isEmpty());
            c.clear();//清除集合c中的所有元素
            System.out.println("c集合是否为空:"+c.isEmpty());
            System.out.println("------------------------------------");
            /**
             * 3.  获得 集合 长度
             */
            Collection c2 = new ArrayList();
            c2.add("hello");
            c2.add("world");
            System.out.println("集合c2中的有"+c2.size()+"元素");
            System.out.println("------------------------------------");
            /**
             * 4.  获取内容   iterator() 
             *                     hasNext():判断下一个元素是否存在
             *                     next():得到下一个元素
             */
            Collection  c3 = new ArrayList();
            c3.add("唐僧");
            c3.add("孙悟空");
            c3.add("猪八戒");
            c3.add("沙僧");
            c3.add("白龙马");
            Iterator it = c3.iterator();
            while(it.hasNext()){
                System.out.println(it.next());
            }
            System.out.println("------------------------------------");
            /**
             * 2.5   删除 
             *         2.5.1  remove(obeject o);  从此 collection 中移除指定元素的单个实例,成功返回 true 失败false
             *         2.5.2   clear()     清除集合中的所有元素
             */
            Collection c4 = new ArrayList();
            c4.add("你好");
            c4.add("我的世界");
            c4.add("英雄联盟");
            c4.add("LOL");
            System.out.println("移除元素之前集合c4只的元素个数是:"+c4.size());
            
            boolean rm = c4.remove("LOL");//移除 LOL
            System.out.println("remove掉LOL后集合c4中剩余的元素是:"+c4.size());
            System.out.println("是否移除了LOL对象:"+rm);
            c4.clear();// 清除c4集合中所有元素
            System.out.println("clear集合c4后集合c4中的元素个数是:"+c4.size());
            System.out.println("----------------------------------------------");
            /**
             * 2.6 将集合转数组
             *             toArray()   返回包含此 collection 中所有元素的数组。
             */
            Collection c5 = new ArrayList();
            c5.add("西游记");
            c5.add("三国演义");
            c5.add("红楼梦");
            c5.add("水浒传");
                Object[] arr = c5.toArray();//将集合转数组
                for (int i = 0; i < arr.length; i++) {
                    System.out.println(arr[i]);
                }
    }

}
4.案列

4.1 学生类

4.2 测试类

4.3 代码

4.3.1 学生类 代码

package cn.ma.coms2;
/**
 * 学生类
 *        
 */
public class Student {
    private String name;
    private int age;
    //--------------------------------1. getXxx/setXxx------------------------------------
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    //----------------2.无参构造方法----------------------------------------------
    public Student() {
        super();
        // TODO Auto-generated constructor stub
    }
    //---------------------3.带参数构造-----------------------------------------
    public Student(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    //-------------------4.toString方法------------------------------------------
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
    //----------------------5.hashCode--------------------------------------
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + age;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    //--------------------6.equals----------------------------------------------------
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Student other = (Student) obj;
        if (age != other.age)
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
}
 

4.3.2 测试类 代码

package cn.ma.coms2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *集合测试 存放引用类型的数据 
 *
 */

public class Test {
        public static void main(String[] args) {
            //--------1.集合-----------
            List<Student> list = new ArrayList<Student>();
            //--------2.造对象----------------
            Student s1= new Student();
            s1.setName("张凡");
            s1.setAge(25);
            Student s2= new Student();
            s2.setName("刘能");
            s2.setAge(36);
            //-------3.将对象放到集合中--------------
            list.add(s1);
            list.add(s2);
            list.add(new Student("小娇",5));
            //----------4.使用iterator遍历集合--------------------------
            Iterator<Student> it = list.iterator();
            while(it.hasNext()){
                Student s = it.next();
                System.out.println(s.getName()+"   "+s.getAge());
            }
        }
}
 

 

© 著作权归作者所有

共有 人打赏支持
Lucky_Me
粉丝 7
博文 187
码字总数 63468
作品 0
美国
Java 集合系列目录(Category)

Java 集合系列目录(Category) 下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录。 01. Java 集合系列01之 总体框架 02. Java 集合系列02之 Collection架构 03. Java 集合系列03之 Arra...

foxeye
2016/02/29
61
0
【Java入门提高篇】Java集合类详解(一)

今天来看看Java里的一个大家伙,那就是集合。 集合嘛,就跟它的名字那样,是一群人多势众的家伙,如果你学过高数,没错,就跟里面说的集合是一个概念,就是一堆对象的集合体。集合就是用来存...

MFrank
05/18
0
0
JCF框架源码分析系列-ArrayList(二)

1、揭开ArrayList真面目 作者将在本文详细赘述日常开发中最常用集合类-ArrayList,本次JCF源码分析基于JDK1.7,主要从以下几个方向分析: UML类图关系 数据结构 接口介绍 常用、重要方法的实...

Ambitor
2015/11/30
361
0
Java集合--阻塞队列(BlockingQueue)

1 BlockingQueue 在此章节中,我们会对阻塞队列进行详细的介绍。 如果你对队列还不熟悉,可以先去看下以下几篇文章,或许对你的入门有所启发! Java集合--Queue队列介绍 Java集合--Queue(Jav...

贾博岩
2017/12/07
0
0
怎么编辑MathType集合运算符号

在涉及到集合的运算中,有交并且几种常见的运算,这在数学问题中也是很常见的公式。在用MathType编辑这些符号时,该怎么编辑呢?下面就介绍MathType集合运算符号的编辑方法。 具体操作过程如...

学术研究软件
2016/05/16
28
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
2
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
7
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
3
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部