集合使用:

先说数组:array :用来存同一种数组类型的容器

eg:现在想把班上所有人的信息存起来

1.每一个人的信息可以用一个对象存起来

2.可以用一个数组来接受(现在数组中要接受的是对象)

object[] arr ; :  数组中可以存放任意类型的对象

数组存放的问题:1.浪费内存,数组他的容量是固定的 无法随元素的变化而改变;

2.存放的数据类型不统一,

集合:用来存放对象的容器就是集合,集合可以存放任意类型的对象,而且长度可变

集合的结构:collection  接口  根接口  集合的公共方法都在接口中

-------->List  接口  特点:可以有重复元素,并且元素是按顺序排列的,有序的

-------->set   接口  特点:不可以有重复,而且是无序的

使用集合的目的:可以是数据的增,删,改,查,更加方便

增加:1.add();添加指定的对象

2.addAll();将一个数组中的元素添加到另外一个数组中,将其他集合中的元素追加到原集合元素的后面

eg:添加

colleection coll = new ArrayList();//collection是接口 ,所以需要通过实现来创建对象  集合中只能存放对象

coll.add(10);//添加元素  元素是可以重复的

coll.add["张三"];

System.out.println(coll);

删除:

remove(object o); 将指定的对象从集合中删除

removeAll()删除指定集合中的元素

eg:coll.remove(“张三”);

System.out,printtln("coll");

清空所有的元素

clear();清空所有的元素

eg:   coll.clear();

System.out.println("coll");空的  null;

判断集合是否为空

System.out.println(“判断集合是否为空”+coll.isEmpty());false

查找是否存在指定的元素

Syatem.out.println("是否存在张三"+coll.comtains(“张三”)); true

集合中存放对象

collection  根接口

增加 : add()指定对象存储到容器中

addAll()指定集合中的元素添加到调用该方法和集合中

删除: remove()将指定的对象从集合中删除

removeAll()将指定集合中的元素删除

修改   clear()清空集合中的所有元素

判断    isEmpty()判断集合是否为空

contains()判断集合中是否包含指定的对象

containsAll()判断集合中是否包含指定的集合

获取   int size () 返回集合容器的大小

转成数组   toArray() 集合转换数组

List中特有的方法:

增加  :add(int index , E element)

addAll(int index, Collection< ? extends E> c)将指定的位置保留为另外一个集合

List<E> subList(int fromIndex,int toIndex)

获取   get (int index)

查找  indexOf(Object o)

lastIndex(Object o)

迭代器  listIterrator()

迭代器 :用来操作几个中的元素,增删,获取集合中的对象

Iterator:迭代器的超级接口:所有的迭代器接口都是继承Iterator

迭代器的常用方法:

hasNext();判断当前指针指向的位置是否存在元素

next()      获取当前指针指向元素,当这个方法被调用一次后指针就会下 一次

remove() 删除最后一次出现的对象

删除    remove(int index)

更新    set(int index,E element)

List集合中特有的方法,都是通过下标来操作的

ArrayList:是存在一个数组(存在一个Object[]),添加元素很慢,删除和查找很快,元素在内存中是有序的

LinkedList:添加元素很快,删除和查找比较慢,元素保存在数组是无序的

ArrayList:维护的是一个Object[],默认容量是10,如果默认不够,就增加原来的1.5倍

ArrayList:特有的方法

1.ensureCapacity(int minCapacity):手动增加容器

2.void tirmToSize()                     :调整集合的容量刚好符合元素的个数

需求:清楚集合中重复的元素,要求必须用迭代器来完成

java中集合的使用的更多相关文章

  1. Java中集合List,Map和Set的区别

    Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Ke ...

  2. java中集合Collection转list对象

    参考:java中集合Collection转list对象 首先我的需求是获取到购物车列表,购物车列表是一个Map对象,构造方法获取购物项,这里购物项是Collection对象 // 购物项集合,K商品I ...

  3. JAVA中集合转数组遍历

    JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {     ...

  4. Java中集合List,Map和Set的差别

    Java中集合List,Map和Set的差别 1.List和Set的父接口是Collection.而Map不是 2.List中的元素是有序的,能够反复的 3.Map是Key-Value映射关系,且Ke ...

  5. Java中集合的概述

    一.集合和数组的区别 1.数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 2.集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数 ...

  6. Scala中集合类型与java中集合类型转换

    对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换. 1. 转换规则如下 从下面可以看出,有些可以相互转换的,有些只能单向转换: scala.collection.Iterab ...

  7. Java中集合关键字的区别

    1. ArrayList.Vector和Stack有什么区别? 1.ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现(简:API基本一样) ​   2.Stack继承了Vec ...

  8. Java中集合概念

    集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行储存,而想要储存多个对象,就不能是一个基本的变量,而应该是一个 ...

  9. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...

  10. java中集合的扩容

    对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式: 1.对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数 ...

随机推荐

  1. c3p0数据源的使用初步及Mysql8小时问题解决

    原文:http://blog.csdn.net/xby1993/article/details/23707775 c3p0号称是java界最好的数据池. c3p0的配置方式分为三种,分别是 1.set ...

  2. pptpd

    18. pptp Server Administration This section covers a few tricks on pptp server management. It is far ...

  3. oracle误删表解决方案

    ·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法原理:利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块 ...

  4. 数据结构图文解析之:队列详解与C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  5. UIActivityViewController 系统社交化 共享

    1.UIActivityViewController是继承自UIViewController,是拥有VC的特性 a.初始化 init  , initWithActivityItems:applicat ...

  6. RabbitMQ 实现RPC

    实现RPC 首先要弄明白,RPC是个什么东西. (RPC) Remote Procedure Call Protocol 远程过程调用协议 在一个大型的公司,系统由大大小小的服务构成,不同的团队维护不 ...

  7. Ubuntu下su被拒绝

    ubuntu@ubuntu:~$ sudo passwd root输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码前提是你肯定得知道当前用户的密码. 然后登录: ...

  8. javascript数据结构与算法---列表

    javascript数据结构与算法---列表 前言:在日常生活中,人们经常要使用列表,比如我们有时候要去购物时,为了购物时东西要买全,我们可以在去之前,列下要买的东西,这就要用的列表了,或者我们小时候 ...

  9. LYDSY模拟赛day1 String Master

    /* 暴力枚举两个后缀,计算最长能匹配多少前缀. 最优策略一定是贪心改掉前 k 个失配的字符. 时间复杂度 O(n3). */ #include<cstdio> ],b[]; int ma ...

  10. toolkit --------chart属性

    Data Visualization类组件以直观的图表方式显示数据的分布,能够让我们更好地分析各数据的内在联系.本文主要向大家介绍该类组件的基本特性以及使用实例. 一.基本特性介绍 1.chart组件 ...