Java 集合类
来源:互联网 发布:ipad 电容笔 知乎 编辑:程序博客网 时间:2024/06/04 20:14
①.Collection接口
① 一般称 Collection 为集合,集合可理解为一个动态的对象数组,与数组不同的是 集合中的对象个数可以任意扩充,因此容易添加或者删除,性能高且扩展性比较好。
② Collection常用的子接口:List接口 Set接口Queue接口...
②.List接口 (Collection的一个子接口)
①List接口可以存放任意数据,重要的一点:List接口中的内容是可以重复的。
②List接口常用的子类:ArrayList类 Vector类
③常用操作: add isEmpty clear indexOf(用于判断某元素是否存在)
④示例:
List<String> list = new ArrayList<String>(); //List接口不能实例化,需实例化其子类。
// 或 List<String> list = new Vector<String>();
list.add("Hello"); // 添加对象内容/元素。
System.out.println(list.get(0)); //获取元素并打印
//更多详见API
⑤ ArrayList 与 Vector 的区别
ArrayList性能高,但线程安全低。Vector性能低,但线程安全高。
③.Set接口 (Collection的一个子接口)
① Set接口中不能加入重复元素,元素存放的顺序 不一定 跟 元素被添加先后的顺序 一致 。
② Set接口的两个常用子类:
HashSet (散列存放)不可排序
TreeSet (有序存放)可排序
③常用操作: add isEmpty clear indexOf(用于判断某元素是否存在)....
④ 示例①:
Set<String> s = new HashSet<String>();
s.add("A"); s.add("B"); s.add("D"); s.add("E"); s.add("F"); s.add("C");
System.out.println(s.toString()); // 存放元素的顺序 与 散列算法有关。
示例②:
Set<String> s = new TreeSet<String>();
s.add("A"); s.add("B"); s.add("D"); s.add("E"); s.add("F"); s.add("C");
System.out.println(s.toString()); // 存放元素的顺序 已经根据字母顺序排序好
④.Iterator接口
① Iterator 接口是 集合 输出 的标准操作 ,一般使用Iterator来实现集合元素的输出。(Iterator : 迭代器)
② Iterator 是一个专门的迭代输出接口,迭代输出就是将一个个元素进行判断,判断其是否有内容,如果有内容则
取出内容。
③三个方法:
① hasNext(); 如果仍有元素可以迭代,则返回true,否则返回false。
② next(); 取出迭代器的下一个元素并返回。
③ remove(); 从迭代器的Collection 移除 迭代器 当前 所取出的元素。
④ 以ArrayList集合为例:
list.add("A"); list.add("B"); list.add("C");
Iterator iter = list.iterator(); // 获取集合的迭代器实例。
while(iter.hasNext()){ //判断迭代器中是否还有元素
String str = (String) iter.next();// 从迭代器取出元素
// ⑤的错误示范list.remove(0);
if(str.equals("B")) iter.remove(); //从迭代器取出的元素为B时,从list集合中移除该元素。
System.out.println(str); // 打印迭代器取出的元素
}
System.out.println(list.contains("B")); // 打印list集合还有没有B元素。
}
System.out.println(list.contains("B")); // 打印list集合还有没有B元素。
⑤ 注意事项:在迭代输出时,不能对集合调用集合对象的remove方法删除数据。
⑤.Map接口
①Map接口与Collection有一定的区别,以 键(key)值(value)对的方式 为保存方式。
Map<K,V> 第一个泛型为键KEY的数据类型,第二个泛型为值VALUE的
②常用子类: 无序存放,key不允许重复
HashMap
HashTable
③常用方法:
put() 存放数据 get() 获取数据(通过键来找到值)
containsKey() 是否存在某键 containsValue() 是否存在某值
keySet() 获取全部的键(返回一个Set接口)
values() 获取全部的值(返回一个Collection接口)
④ 示例:
Map<String,String> map = new HashMap<String,String>();
0 0
- Java集合:集合类详解
- Java集合-常用集合类
- JAVA【集合一】集合类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- Java集合类(整理)
- java集合类
- JAVA中的集合类
- Java集合类笔记
- JAVA中的集合类
- java集合类
- java集合类总结
- JAVA中的集合类 - -
- JAVA中的集合类
- java集合类
- java 集合类
- java中的集合类
- hdu 1551 Cable master
- MVC中单独配置Log4Net
- 共模电感
- 数据结构实验之排序五:归并求逆序数
- android 加载大图片适配问题解决方案
- Java 集合类
- 第7讲项目2——三数最大值
- glob模式
- 118. Pascal's Triangle && 119. Pascal's Triangle II
- 算法_3 : 组合数学:排列组合
- 平衡二叉树
- 数据结构实验之排序六:希尔排序
- 最简单的python命令解析器
- c++自制Redis数据库(三)初步基础框架设计