集合类的由来,
对象用于封闭特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储。

集合特点:
1.用于存储对象的容器。
2.集合的长度是可变的。
3.集合中不可以存储基本数据类型值。

集合容器因为内部的数据结构不同,有多种具体容器。
不断的向上抽取,就形成了集合框架。

collection的常见方法:
1.添加
  boolean add(Object obj); --添加
  boolean addAll(Collection coll) --添加集合
2.删除
  boolean remove(Ooject obj); --删除
  boolean remove(Collection coll) --删除集合
  void clear() --移除所有内容
3.判断
  boolean contains(object obj); --判断些集合指定的元素,则返回true
  boolean containsAll(Collection coll) --判断些集合指定的合集,则返回true
  boolean isEmpty(): --判断集合中是否有元素。
4.获取:
  int size(); --返回集合中的元素数
  Iterator iterator(); --取出元素的方式:迭代器
5.其他:
  boolean retainAll(Collection coll) --取交集(1,2,5; 2,4; 取2)
  Object[] toArray(): --将集合转成数组。

测试:

package demo_liu.test.collection;

import java.util.ArrayList;
import java.util.Collection; public class t1 {
public static void main(String[] args) {
Collection coll = new ArrayList();
//调用Collection
show(coll); Collection c1 = new ArrayList();
Collection c2 = new ArrayList(); //调用Collection
show(c1,c2);
} public static void show(Collection c1,Collection c2) {
//给c1添加元素
c1.add("1123");
c1.add("11234");
c1.add("45345");
c1.add("4564");
c1.add("6753"); //给c2添加元素
c2.add("1123");
c2.add("abc1");
c2.add("abc1");
c2.add("abc1");
c2.add("abc1"); //输出
System.out.println("c1+"+c1);
System.out.println("c2"+c2); //演示addAll() 添加集合
c1.addAll(c2); //演示removeAll 删除集合:true
// boolean b= c1.removeAll(c2);//将两个集合中的相同元素从调用RemoveAll的集合中删除例:c2.add("1123");
// System.out.println("removAll"+b);//输出 :c1[11234, 45345, 4564, 6753]
//C1:中少了c1.add("1123");
//演示retainAll
// boolean c = c1.retainAll(c2);//取交集:指两个集合中共有的数据
// System.out.println("c1"+c1); //保留和指定的集合相同的元素,而删除不同的元素。
//和removeAll功能相反。
//输入:c1[1123, 1123, abc1, abc1, abc1, abc1]
//演示ContainsAll
boolean n = c1.containsAll(c2);//包含:c1中包含c2的所有元素,没有则返回false
System.out.println(n); System.out.println("c1"+c1);
} public static void show(Collection coll) {
//1. 添加元素
coll.add("123");
coll.add("木头人");
coll.add("汐");
System.out.println("输出所有元素"+coll); //输出所有元素[123, 木头人, 汐]
System.out.println("是否包含:"+coll.contains("123")); //是否包含:true
System.out.println("个数:"+coll.size()); //个数:3
//删除‘123’:输出
coll.remove("123"); //[木头人, 汐]
System.out.println(coll);
//清空集合
coll.clear();
System.out.println("清空元素:"+coll); //清空元素:[]
System.out.println("是否有元素:"+coll.isEmpty()); //是否有元素:true
//着边和清空有没有关系, 我们先查询集合是否有元素,则返回true,再清空后,也是返回true;
}
}

  

java方法中Collection集合的基本使用与方法的更多相关文章

  1. JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

    前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...

  2. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

  3. java多线程中并发集合和同步集合有哪些?区别是什么?

    java多线程中并发集合和同步集合有哪些? hashmap 是非同步的,故在多线程中是线程不安全的,不过也可以使用 同步类来进行包装: 包装类Collections.synchronizedMap() ...

  4. Java 8中Collection转为Map的方法

    Java 8中java.util.stream.Collectors提供了几个方法可用于把Collection转为Map结构,本文记录了个人对其中三个的理解. Method Return Type g ...

  5. Collection中list集合的应用常见的方法

    集合 : 用存放对象的容器(集合)     Collection : 跟接口 : 单列集合          ---> List :有序的 ,元素是可以重复的.          ---> ...

  6. java学习笔记——Collection集合接口

    NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(O ...

  7. 【Java心得总结六】Java容器中——Collection

    在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...

  8. Collection集合的三种初始化方法

    (一) java容器可以分为两大类 1)Collection其中包括List,Set,Queue 2)Map (二) Arrays.asList()方法:接受一个数组或一个逗号分隔的元素列表,并将其转 ...

  9. Java 8中处理集合的优雅姿势——Stream

    在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便 ...

随机推荐

  1. PAT 1041-1050 题解

    浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1041. Be Unique (20) 题意 给出 N (<=105)个数(数值范围为 [1, 104]),找到其中不重复的第一个数字.比 ...

  2. 使用CreateThread函数和_beginThreadex函数的注意事项

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用CreateThread函数创建线程时,类或结构体的变量作为CreateThread函数传递给线程函数的参数需要避 ...

  3. C++机器学习古典材料

    Caffe :高速神经网络架构 住址:https://github.com/BVLC/caffe CCV :以C语言为核心的现代计算机视觉库 地址:https://github.com/liuliu/ ...

  4. Android开发中如何加载API源码帮助开发

    在eclipse中添加android源码既可以帮助我们的开发,又能使我们边开发边学习. android环境的搭建:http://blog.csdn.net/dawanganban/article/de ...

  5. AVL 树的插入、删除、旋转归纳

    参考链接: http://blog.csdn.net/gabriel1026/article/details/6311339   1126号注:先前有一个概念搞混了: 节点的深度 Depth 是指从根 ...

  6. virtualbox--在xp设置ubuntu虚拟机网络 主宿机能互通,宿机能通过主机上网Host-Only + Bridged

    由于最近要写一个简单的C/S模式的程序,刚好虚拟机装了个ubuntu12.04TLS,正好拿来当服务器测试,但是发现无法ping通.刚学习ubuntu,实在不熟,苦苦弄了2小时,才弄明白,在此记录一下 ...

  7. 微软输入法TSF SampleIME 代码浅说

    原文:微软输入法TSF SampleIME 代码浅说 微软提供了一个简单的TSF拼音输入法的示例SampleIME,主要的问题是:不支持数字键选候选字,不能自动上屏,没有联想功能.在笔者开发动态输入法 ...

  8. nginx 502错 failed (13: Permission denied)

    安装nginx和php-fpm之后出现502错误 找了个理由说php-fpm不启动 ,但在我的实践中,该过程开始 找了半天没找到病因.视图nginx记录后 我发现下面的错误 [crit] 2686#0 ...

  9. 【codeforces】Codeforces Round #277 (Div. 2) 解读

    门户:Codeforces Round #277 (Div. 2) 486A. Calculating Function 裸公式= = #include <cstdio> #include ...

  10. Stream转Byte数组

    //获得当前文件目录 string rootPath = Directory.GetCurrentDirectory(); string path = rootPath + "Your Fi ...