java collection类_java 之 Collection类

Collection类

List:

可以放入重复元素

支持随机访问(有下标)

可以插入元素【在指定下标插入】add(index, e)

Set:

不可以放入重复元素

不支持随机访问(无下标)

不能插入元素

Queue:

可以放入重复元素

不支持随机访问(无下标)

不能插入元素

list类

package com.gongxy.demo.collectionstudy;

import java.util.ArrayList;

import java.util.LinkedList;

/**

* Collection

* 一些基本方法:

* 1、add(e) 添加元素

* 2、clear() 清空所有元素

* 3、size() 获取元素长度

* 4、isEmpty() 是否无元素

* 5、toArray(T[]) 转换为指定类型数组

* 6、toArray() 转换为Object数组

* 7、remove(o) 删除指定元素

* 8、contains(o) 是否包含元素

* - List 类

* ArrayList 与 LinkedList 的区别

* ArrayList

* 1、默认长度是10

* 2、使用数组实现(对数据查询较多时使用,修改删除较慢)

* LinkedList

* 1、使用链表实现(对数据修改频繁时使用,随机访问较慢)

* 2、可用于存放不确定个数的元素

*/

public class ListTest {

public static void main(String[] args) {

linkedListTest();

}

/**

* ArrayList类

* extends Collection

* 常用方法

* 1、add(index, e) 指定下标添加元素

* 2、get(index) 获取指定下标元素

* 3、indexOf(obj) 获取指定元素在List中的位置,有则返回对应的下标,无则返回-1

* 4、set(index, e) 覆盖指定下标元素

* 5、remove(index) 删除下标元素

*/

static void arrayListTest(){

ArrayList list = null;

//System.out.println(list.size());//java.lang.NullPointerException

//System.out.println(list.isEmpty());//java.lang.NullPointerException

if (list == null) {

System.out.println("为null时,size()和isEmpty()都会报异常");

}

list = new ArrayList();

System.out.println(list.size());//0

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

list.add("gongYg");

list.add("gongXY");

list.add("gongXH");

list.add("guMD");

//list.clear();

System.out.println(list.size());//4

System.out.println(list);//[gongYg, gongXY, gongXH, guMD]

System.out.println(list.get(0));//gonYG

System.out.println(list.indexOf("gongXY"));//1

list.set(0,"gongYY");

System.out.println(list.get(0));//gongYY

list.remove("gongYY");

System.out.println(list);//[gongXY, gongXH, guMD]

list.remove(0);

System.out.println(list);

System.out.println(list.contains("gongXH"));//是否包含元素,类似于=

String[] sArray = new String[list.size()];

list.toArray(sArray);

for (String s: sArray

) {

System.out.println(s);

}

}

/**

* LinkedList 与 ArrayList方法基本一样

* extends Collection

*/

static void linkedListTest(){

LinkedList list = null;

//System.out.println(list.size());//java.lang.NullPointerException

//System.out.println(list.isEmpty());//java.lang.NullPointerException

if (list == null) {

System.out.println("为null时,size()和isEmpty()都会报异常");

}

list = new LinkedList();

System.out.println(list.size());//0

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

list.add("gongYg");

list.add("gongXY");

list.add("gongXH");

list.add("guMD");

//list.clear();

System.out.println(list.size());//4

System.out.println(list);//[gongYg, gongXY, gongXH, guMD]

System.out.println(list.get(0));//gonYG

System.out.println(list.indexOf("gongXY"));//1

list.set(0,"gongYY");

System.out.println(list.get(0));//gongYY

list.remove("gongYY");

System.out.println(list);//[gongXY, gongXH, guMD]

list.remove(0);

System.out.println(list);

System.out.println(list.contains("gongXH"));//是否包含元素,类似于=

String[] sArray = new String[list.size()];

list.toArray(sArray);

for (String s: sArray

) {

System.out.println(s);

}

}

}

set类

package com.gongxy.demo.collectionstudy;

import java.util.HashSet;

import java.util.Set;

/**

* Collection - Set 类

*/

public class SetTest {

public static void main(String[] args) {

hashSetTest();

}

static void hashSetTest(){

Set set = new HashSet();

set.add(1);

set.add(2);

set.add(2);

System.out.println(set);//[1, 2]

System.out.println(set.isEmpty());//false

System.out.println(set.size());//2

set.remove(2);

System.out.println(set);//1

System.out.println(set.contains(1));//true

}

}

queue类

package com.gongxy.demo.collectionstudy;

import java.util.LinkedList;

import java.util.Queue;

import java.util.jar.JarOutputStream;

/**

* Collection - Queue

* 队列

*

*/

public class QueueTest {

public static void main(String[] args) {

queueTest();

}

/**

* add(e)/offer(e) //加入队列;两者区别是如果队列满了,一个异常,一个返回false

* E element(0/peek() //查看队列的头;两者区别是如果队列为空,一个异常,一个返回false

* E poll()/remove() //移除次队列的头;两者区别是如果队列为空,一个异常,一个返回false

*/

static void queueTest(){

Queue queue = new LinkedList();

queue.offer("A");

queue.offer("A");

queue.offer("B");

queue.offer("C");

System.out.println(queue);//[A, A, B, C]

String first = queue.peek();

System.out.println(first);//A

System.out.println(queue);//[A, A, B, C]

String firstD = queue.poll();

System.out.println(firstD);//A

System.out.println(queue);//[A, B, C]

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值