java中的集合类学习(三)

网友投稿 258 2022-09-25

java中的集合类学习(三)

JAVA中有许多的集合,常用的有List,Set,Queue,Map。

1、其中List,Set,Queue都是Collection(集合),其每个元素都是单独的一个对象,如List,Set等,String和Integer就是单独的一个对象。

2、而Map是一种图,其每个元素都是两个对象的一一对应,如Map中的Integer是键 (key),String是这个键所对应的值(value)。每个元素都是一对Integer和String

一、Map接口

二、ArrayList、LinkedList

package Demo2;/* * *以下情况使用 ArrayList : 频繁访问列表中的某一个元素。 只需要在列表末尾进行添加和删除元素操作。 以下情况使用 LinkedList : 你需要通过循环迭代来访问列表中的某些元素。 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。 */import java.util.ArrayList;import java.util.LinkedList;import java.util.Collections;public class RunoobTest{ public static void main(String[]args) { //ArrayList ArrayList sites = new ArrayList(); ArrayList sites2 = new ArrayList(); sites.add("runoob"); sites.add("333"); sites.remove(2); Collections.sort(sites); // 字母排序 for (String i : sites) { System.out.println(i); } //LinkedList LinkedList sites3 = new LinkedList(); sites3.add("Google"); sites3.removeLast(); sites3.addLast("Wiki"); // 使用 getFirst() 获取头部元素 sites3.getFirst(); for (int size = sites.size(), i = 0; i < size; i++) { System.out.println(sites.get(i)); } //or for-each for (String i : sites) { System.out.println(i); } } }

三、HashSet、HashMap

package Demo2;import java.util.HashMap;import java.util.HashSet;public class Test7{ public static void main(String[]args) { /* * HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。 * / */ HashSet sites = new HashSet(); sites.add("Google"); sites.add("Runoob"); sites.add("Runoob"); // 重复的元素不会被添加 sites.remove("assss");// 删除元素,删除成功返回 true,否则为 false System.out.println(sites.contains("Taobao"));// contains() 方法来判断元素是否存在于集合当中: sites.clear();//删除集合中所有元素可以使用 clear 方法 System.out.println(sites.size()); /* * HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 HashMap 是无序的,即不会记录插入的顺序。 HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口 */ // 创建 HashMap 对象 Sites HashMap Sites = new HashMap(); // 添加键值对 Sites.put(1, "Google"); Sites.put(2, "Runoob"); HashMap Sites2 = new HashMap(); // 添加键值对 Sites2.put("one", "Google"); System.out.println(Sites.get(3)); Sites.remove(4); Sites.clear(); }}

四、迭代器-Iterator

package Demo2;import java.util.ArrayList;import java.util.Iterator;/* * java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。 Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。 迭代器 it 的两个基本操作是 next 、hasNext 和 remove。 调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。 调用 it.hasNext() 用于检测集合中是否还有元素。 调用 it.remove() 将迭代器返回的元素删除。 */public class RunoobTest2{ public static void main(String[]args) { // 创建集合 ArrayList sites = new ArrayList(); sites.add("Google"); sites.add("Runoob"); sites.add("Taobao"); sites.add("Zhihu"); // 获取迭代器 Iterator it = sites.iterator(); // 输出集合中的第一个元素 System.out.println(it.next()); //循环集合元素 while(it.hasNext()) { System.out.println(it.next()); } ArrayList numbers = new ArrayList(); Iterator it2 = numbers.iterator(); while(it.hasNext()) { Integer i = it2.next(); if(i < 10) { it.remove(); // 删除小于 10 的元素 } } }}

心有猛虎,细嗅蔷薇

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java开源项目学习
下一篇:文案来啦:诙谐幽默搞笑文案!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~