java集合类 详解_java集合类详解

Collection

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

集合的特点:

性能高

容易扩展和修改

Collection的常用子类

List

Set

Queue

List

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

List接口常用子类:

ArrayList

Vector

-常用操作

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

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

demo

package com.test.CollectionDemo;

import java.util.ArrayList;

import java.util.List;

import java.util.Vector;

/**

* Created by elijahliu on 2017/2/26.

*/

public class CollectionDemo {

public static void main(String[] args) {

List list = new ArrayList();

list.add("a");

list.add("b");

list.add("a");

for (String i:list) {

System.out.println(i);

}

list.remove(0);//delete

System.out.println(list.indexOf("a"));//search a

System.out.println(list.isEmpty());

}

//vectordemo

public static void ListDemo2(){

List list = new Vector();

list.add("a");

list.add("b");

for (String i : list

) {

System.out.println(i);

}

}

}

ArrayList和Vector比较

比较

ArrayList

Vector

推出时间

JDK1.2之后推出

JDK1.0之后推出

性能

采用异步处理的方式,性能高

采用同步处理的方式,性能低

线程安全

属于非线程安全

属于线程安全

Set

set接口中不能加入重复元素,但是可以排序

常用子类

散列存放:HashSet

有序存放:TreeSet

demo

public static void setDemo() {

Set s = new HashSet<>();

s.add("a");

s.add("b");

s.add("c");

s.add("d");

s.add("d");

s.add("e");

System.out.println(s);

s = new TreeSet();

s.add("a");

s.add("c");

s.add("b");

s.add("d");

s.add("d");

s.add("e");

System.out.println(s);//打印出来是有序的

}

Iterator

集合输出的标准输出

标准做法,使用Iterator接口

操作原理

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

a4dca21c4bb5

过程

demo

public static void IteratorDemo() {

List list = new ArrayList();

list.add("a");

list.add("c");

list.add("b");

list.add("d");

list.add("d");

list.add("e");

Iterator iter = list.iterator();

//这里实例话Iterator有点不同,是通过要进行迭代的实例话对象调用iterator方法来进行实例化的

while (iter.hasNext()) {

System.out.println(iter.next());

}

//hasNext()判断是否下一个元素为空,next()用于获取下一个元素

}

ps:不能在迭代输出的时候进行iter.remove()删除操作,会报错

Map

保存形式:

key——>value的方式保存

例子:小明:12312132

常用字类:

HashMap:无序存放,Key不允许重复

Hashtable:无需存放,Key不允许重复

demo

public static void mapDemo() {

Map map = new HashMap();

map.put("1", 1);

map.put("2", 2);

map.put("3", 3);

map.put("4", 4);

int i = (int) map.get("3");//提取键值

boolean isKey = map.containsKey("1");//看key是不是存在 返回boolean

boolean isValue = map.containsValue(1);//看value是不是存在,返回boolean

Set s =map.keySet(); //map.keySet()可以将所有的键都提取出来,返回的是一个Set集合

//map.values()返回所有值,返回是一个Collection 集合

Iterator itr= s.iterator();//使用set集合调用迭代器Iterator来进行输出

while (itr.hasNext()) {

System.out.println(itr.next());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值