【Java】之集合大总结(下)

简介: Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,Map里键不允许重复,访问Map的元素,只要指定了键就能找到对应的值。

五、Map接口
Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,Map里键不允许重复,访问Map的元素,只要指定了键就能找到对应的值。

1.Map接口的声明
public interface Map

2.Map接口的方法
public void put (Object key,Object value)

功能描述:将指定的键和值存入集合并进行映射关联

public Object get(Object key)

功能描述:获得与关键字key相对应的值,如果没有就返回null

public void clear()

功能描述:删除所有映射关系

public boolean isEmpty()

功能描述:判断Map是否还存在映射关系,存在返回true,反之返回false

public void putAll(Map m)

功能描述:将t中包含的元素添加进该方法所在的Map

public int size()

功能描述:返回Map中键值对的个数

public remove(Object key)

功能描述:删除键所对应的映射关系

3.HashMap类
是基于哈希表的Map接口的实现。

4.treeMap
TreeMap类继承AbstractMap类,同时实现了SortedMap,是SortedMap接口的基于红黑树的实现。该类和TreeSet相似,而且处理TreeMap的keySet方法所得到的集合与TreeSet相同。此类保证了映射按照升序顺序排列关键字。

compare To()
比较此对象与指定对象的顺序。如果大于返回正整数,等于返回0,小于返回负整数。抛出类型ClassCastException(如果指定对象的类型无法与该对象进行比较)

Comparable接口
该接口只有Compare To(T o)方法,用comparable接口,需要compara To()方法。

Comparator
该接口不仅有int compare(T o1,T o2)方法,还有boolean equals(Object obj)指示某个其他对象是否等于此Comparator,该接口可以在类外部使用,通过该接口的一个匿名类对象当做参数传递给Collections.sort()方法或Arrays.sort()方法实现排序。

其中compare()比较两个参数,如果大于返回正整数,等于返回0,小于返回负整数。

六、集合的遍历
代码

package test1;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class ListDemo {
    public static void main(String[] args) {
        List<String> list=new ArrayList();
        list.add("hello\nworld\njava");
        System.out.println("----迭代器遍历方式-----");
        Iterator<String> iterator=list.iterator();
        while(iterator.hasNext()) {
            String s=iterator.next();
            System.out.println(s);
        }
        System.out.println("----增强for遍历方式-----");
        for (String string : list) {
            System.out.println(string);
        }
        System.out.println("----JDK8的forEach遍历方式-----");
        list.forEach(s->System.out.println(s));
    }
}

执行结果
image.png

相关文章
|
2月前
|
安全 Java 容器
【Java集合类面试二十七】、谈谈CopyOnWriteArrayList的原理
CopyOnWriteArrayList是一种线程安全的ArrayList,通过在写操作时复制新数组来保证线程安全,适用于读多写少的场景,但可能因内存占用和无法保证实时性而有性能问题。
|
2月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
2月前
|
Java
【Java集合类面试二十八】、说一说TreeSet和HashSet的区别
HashSet基于哈希表实现,无序且可以有一个null元素;TreeSet基于红黑树实现,支持排序,不允许null元素。
|
2月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
2月前
|
Java
【Java集合类面试二十六】、介绍一下ArrayList的数据结构?
ArrayList是基于可动态扩展的数组实现的,支持快速随机访问,但在插入和删除操作时可能需要数组复制而性能较差。
|
2月前
|
存储 Java 索引
【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?
ArrayList基于动态数组实现,支持快速随机访问;LinkedList基于双向链表实现,插入和删除操作更高效,但占用更多内存。
|
22天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
1天前
|
存储 算法 安全
深入理解Java中的集合框架
【9月更文挑战第34天】本文将带你走进Java的集合框架,探索其背后的设计哲学和实现细节。我们将从集合的基本概念出发,逐步深入到具体的接口和类的实现,最后通过一个实际的例子来展示如何在Java程序中高效地使用集合。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深度理解。
9 1
|
11天前
|
存储 安全 Java
Java 常用集合分类
Java 常用集合分类
13 2
|
2月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
32 5
下一篇
无影云桌面