Java集合类概述
来源:互联网 发布:fc2的域名设置 编辑:程序博客网 时间:2024/04/29 06:09
1、Collection接口
通常遍历集合,都是通过迭代器(Iterator)实现。注意:Iterator的next()方法返回的是Object!
Collection接口常用的方法:
add(E e):将指定的对象添加到集合中。
remove(Object o):将指定对象从集合中删除。
isEmpty():返回boolean值,判断当前集合是否为空。
iterator():返回在此Collection的元素上进行迭代的迭代器。用于遍历集合中的对象。
size():返回int型值,获取该集合中元素的个数。
示例代码:
package test;import java.util.*;public class hello {public static void main(String[] args) { Collection<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d");Iterator<String> it = list.iterator();while(it.hasNext()){String str = (String)it.next();System.out.println(str);}}}
运行结果:
abcd
2、List集合
List接口继承Collection接口,此外还定义了一下两个非常重要的方法:
get(int index):获取指定索引位置的元素
set(int index,Object obj):将集合中指定索引位置的对象修改为指定对象
常用实现类:ArrayList与LinkedList.
使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。
List<E> list = new ArrayList<>();
List<E> list = new LinkedList<>();
注:E为合法的java数据类型。
示例代码:
package test;import java.util.*;public class hello {public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); int i = (int)(Math.random()*(list.size()-1)); System.out.println("随机获取的数组元素:"+list.get(i)); list.remove(2); System.out.println("将索引2的元素移除后,剩余数组元素是:"); for (int j = 0; j < list.size(); j++) {System.out.println(list.get(j));} /* 第二种方法:创建一个迭代器进行显示 Iterator<String> it = list.iterator(); while(it.hasNext()){ String str = (String)it.next(); System.out.println(str); } */ }}
运行结果:
随机获取的数组元素:b将索引2的元素移除后,剩余数组元素是:ab
3、Set集合
Set集合中对象不按特定的顺序进行排列,但不能包含重复对象!
继承Collection接口,实现的类有:HashSet与TreeSet。
新增的方法:
first():返回第一个元素(最低)。
last():返回最后一个元素(最高)。
comparator():返回元素进行排序的比较器。如果set采用自然排序则返回NULL。
headSet(E toElement):返回一个新的Set集合,新集合包含toElement(不包含)之前的所有对象。
subSet(E toElement,E toElement):返回一个新的Set集合,包含fromElement(包含)对象与toElement(不包含)之间所有的对象。
tailSet(E fromElemnt):返回一个新的Set集合,新集合包含对象fromElement(包含)滞后的所有对象。
技巧:如果指定参数位于新集合的起始位置,则包含该对象,如果是终止位置,不包含该对象。
4、Map集合
Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。
Map集合中允许对象是NULL,而没有个数限制。
常用的方法:
put(K key,V value):向集合中添加key与value的映射关系。
containsKey(Object key):如果此映射包含key的映射关系,则返回true.
containsValue(Object value):如果此映射将一个或多个key映射到指定值,则返回true.
get(Object key):如果存在指定的key,则返回该值,否则返回NULL。
keySet():返回该集合中所有key对象形成的Set集合。
values():返回该集合中所有value对象所形成的Collection集合。
示例代码:
package test;import java.util.*;public class hello {public static void main(String[] args) {Map<String,String> map = new HashMap<>();map.put("01","李同学");map.put("02","张同学");map.put("03","王同学");Set<String> set = map.keySet(); //获取key的Set集合Iterator<String> it = set.iterator();while(it.hasNext()){System.out.println(it.next());}Collection<String> value = map.values();//获取value的Collection集合。it = value.iterator();while(it.hasNext()){System.out.println(it.next());}}}运行结果:
010203李同学张同学王同学
- Java集合类概述
- Java集合类概述
- JAVA集合类概述
- Java集合类概述
- Java集合类概述
- Java主要集合类概述
- Java集合类一概述
- Java集合类概述《一》
- Java集合类概述《二》
- Java集合类概述《三》
- 初学Java,集合类概述(二十五)
- 四大名捕---java集合类框架概述
- 初学Java,集合类概述(二十五)
- java collections集合类总结:概述
- 【Java】 集合类概述-List、Map、Set
- java中的并发集合类概述
- java collections集合类总结:概述
- Java集合概述--HashSet类解析
- 将本地git仓库推送到github上
- [JQuery学习笔记]——之二
- HDU 4612 and 4607 (tarjan求桥+树形dp求树的直径)
- 【十三】先把东西整理上来吧,以免会忘记~
- stm32启动模式
- Java集合类概述
- UVA 784 Maze Exploration
- 枚举值的使用
- iOS学习之内存管理
- collection学习日志
- Codeforces Round #121 (Div. 2)
- clion 1.05 Mac 安装与破解
- JSON 对象未定义错误
- ip别名及其在tcp压力测试时候的作用