JAVA集合学习

JAVA中有几种常用的集合类。分别是List,Set,Map等


提示:Eclipse中自动导入包的快捷键  Ctrl+Shift+O

一、List类

父接口:该类是Collection集合接口的子接口。

特点:List类是有序的,可以有重复的元素。

分类:它也有两个子接口,分别是ArrayList(动态数组)、LinkedList(链表、队列、堆栈)

常用方法:

1.构造方法。eg:ArrayList<Integer> al = new ArrayList<Integer>();//Integer可用其他类替换。

2.添加元素add(Object)         addAll(object集合).eg:al.add(3);

3.删除元素remove(Object)  removeAll(object集合).eg:al.remove(4);

4.获取元素get(index)eg:get(0);

等其他的方法;


二、Set类

父接口:Coleection

特点:无序,不可重复

子接口:HashSet类,以哈希表的形式存放元素,插入删除速度很快;TreeSet类,

方法:构造方法,Set是抽象类,在构造新对象时需要申明为HashSet   eg:Set<String> set = new HashSet<String>();

add,remove,...遍历时可用:eg:

Set<String> set = new HashSet<String>();
for(String s : set){
  //TODO

}

添加元素:

set.add("English");
删除元素:

<span style="font-size:18px;"><strong>set.remove("HanYu")</strong></span>

等等其他方法。

三、Map类

子接口:HashMap类,TreeMap


四、Table类

子接口:HashTable类



五、集合适用场景

对于查找和删除较为频繁,且元素数量较多的应用,Set或Map是更好的选择;
ArrayList适用于通过为位置来读取元素的场景;
LinkedList 适用于要头尾操作或插入指定位置的场景;
Vector 适用于要线程安全的ArrayList的场景;
Stack 适用于线程安全的LIFO场景;
HashSet 适用于对排序没有要求的非重复元素的存放;
TreeSet 适用于要排序的非重复元素的存放;
HashMap 适用于大部分key-value的存取场景;
TreeMap 适用于需排序存放的key-value场景。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值