(1)Java集合-Collection

  A、集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充

  B、集合特点:性能高,容易扩展和修改

  C、Collection的常用子类:List、Set、Queue

(2)Java集合-List

  A、List接口可以存放任意的数据,而且在List接口中内容是可以重复的

  B、List接口常用子类:ArrayList、 Vector

  C、常用操作:

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

  查找指定的对象是否存在:int indexOf(Object o)

import java.util.ArrayList;
import java.util.List; public class ListDemo01 { public static void main(String[] args) {
List<String> lists=null;
lists=new ArrayList<String>(); //List常用接口子类一arrayList
lists.add("A");
lists.add("B");
lists.add("A");//内容可重复
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i));
}
lists.remove(0);
System.out.println("删除之后-------");
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i));}
System.out.println("集合是否为空:"+lists.isEmpty());
System.out.println("B是否存在:"+lists.indexOf("B"));

  结果:

  A

  B

  A

  删除之后-------

  B

  A

  集合是否为空:false

  B是否存在:0  //当前集合的索引,因为刚刚A被删除了,所以此时B位于集合第一个位置,所以为0.若不存在,则-1。

ArrayList、 Vector功能差不多,下图为二者比较:

(3)Java集合-Set

A、Set 接口中不能加入重复元素(List可重复),但是可以排序。

B、Set 接口常用子类:

散列存放:Hashset

有序存放:TreeSet

public static void main(String[] args) {
Set<String> s=null;
//s=new TreeSet<String>();//(逻辑)有序
s=new HashSet<String>();//无序
s.add("A");
s.add("B");
s.add("C");
System.out.println(s);

(4)Java集合-Iterator

A、集合输出的标准操作:标准做法,使用Iterator 接口。

B、操作原理:Iterator是专门的迭代输出接口,迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取走。

public static void main(String[] args) {
List< String> lists=new ArrayList<>();
lists.add("A");
lists.add("B");
lists.add("C");
System.out.println(lists);
Iterator<String> iter=lists.iterator();
while(iter.hasNext()){
String str =iter.next();
if ("A".equals(str)) {
iter.remove();
}else System.out.println(str);

  结果:[A, B, C]

  B

  C

(5)Java集合-Map(为接口存放时,key 都是唯一的。)

  A、保存形式:key--à value 的方式保存。例:小雪:15362489521

  B、常用子类:HashMap:无序存放,key不允许重复

Hashtable:无序存放,key不允许重复

public class MapDemo01 {

    public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
map.put("key1", "jikexueyuan");
map.put("key2", "www");
map.put("key3", "com");
map.put("key4", "eoe");
map.put("key5", "hello");
String str =map.get("key1");
System.out.println(str);
//判断键和值是否存在
if (map.containsKey("key")) {
System.out.println("key存在");
}else {System.out.println("key不存在"); }
if (map.containsValue("jikexueyuan")) {
System.out.println("value存在");
}else{System.out.println("value不存在"); }
//输出所有值或键
Set<String> s=map.keySet();
Iterator<String> i=s.iterator();
while (i.hasNext()) {
System.out.println(i.next());
} Collection<String > c=map.values();
Iterator<String> i1=c.iterator();
while (i1.hasNext()) {
System.out.println(i1.next());

  结果:

  jikexueyuan

  key不存在

  value存在

  key1

  key2

  key5

  key3

  key4

  jikexueyuan

  www

  hello

  com

  eoe

05-Java 集合类详解的更多相关文章

  1. Java 集合类详解(含类图)

    0.参考文献 此图中蓝色为抽象类.深红色表示接口(Arrays除外).绿色表示具体容器类 1.java集合类图 1.1 1.2 上述类图中,实线边框的是实现类,比如ArrayList,LinkedLi ...

  2. Java 集合类详解

    集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...

  3. Java集合类详解

    集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ...

  4. 【Java入门提高篇】Java集合类详解(一)

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

  5. Java集合排序及java集合类详解--(Collection, List, Set, Map)

    1         集合框架 1.1         集合框架概述 1.1.1         容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...

  6. [转] Java集合类详解

    集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ...

  7. Java集合详解8:Java的集合类细节精讲

    Java集合详解8:Java集合类细节精讲 今天我们来探索一下Java集合类中的一些技术细节.主要是对一些比较容易被遗漏和误解的知识点做一些讲解和补充.可能不全面,还请谅解. 本文参考:http:// ...

  8. Java集合详解8:Java集合类细节精讲,细节决定成败

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  9. Java集合详解3:Iterator,fail-fast机制与比较器

    Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https:/ ...

  10. Java泛型详解(转)

    文章转自  importNew:Java 泛型详解 引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理 ...

随机推荐

  1. WEB ui快速构建

    http://www.runoob.com/bootstrap/bootstrap-ui-editor.html 1http://pingendo.com/ 2http://www.layoutit. ...

  2. VIM_插件

    VIM进阶:插件     通过一段时间的练习,你就可以非常熟练的使用VIM.即使是"裸奔",VIM已经足够强大,能够完成日常的绝大部分工作.     但VIM更加强大的是它的扩展机 ...

  3. SecureCRT相关

    -------------------------------------------------- 如何解决SecureCRT汉字乱码的问题? 选择工具栏上的“选项”菜单在打开的下拉菜单中选择“会话 ...

  4. sass中mixin常用的CSS3

    圆角border-radius @mixin rounded($radius){ -webkit-border-radius: $radius; -moz-border-radius: $radius ...

  5. UI学习笔记---第十一天UITableView表视图高级-自定义cell

    自定义cell,多类型cell混合使用,cell自适应高度 自定义cell就是创建一个UITableViewCell的子类 把cell上的空间创建都封装在子类中,简化viewController中的代 ...

  6. 理解 %IOWAIT (%WIO)

    %iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 %wio,含义都是一样的,这个指标常常被误读,很多人把它 ...

  7. 关于项目中用到的流程的sql和表

    select * from FLOW_MAIN SEQCODE FULL_NAME SHORT_NAME FLOW_DESC CREATE_TIME UPDATE_TIME 1 CoursePackF ...

  8. boot/bootsect.S

    !! SYS_SIZE is the number of clicks (16 bytes) to be loaded.! 0x7F00 is 0x7F000 bytes = 508kB, more ...

  9. c 函数及指针学习 3

    strlen(x) 返回 size_t 类型,size_t是 unsigned int 类型,所以 strlen(x)-strlen(y) 返回 unsigned int 始终 >=0 1 2 ...

  10. jQuery中的ajax服务端返回方式详细说明

    http://blog.sina.com.cn/s/blog_6f92e3a70100u3b6.html     上次总结了下ajax的所有参数项,其中有一项dataType是设置具体的服务器返回方式 ...