
集合
文章平均质量分 54
集合
xiaokanfuchen86
这个作者很懒,什么都没留下…
展开
-
Java的集合框架——工具类(Collections,Arrays)
Collections是集合框架的工具类,里面的方法都是静态的。此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。...转载 2021-06-19 17:23:17 · 235 阅读 · 0 评论 -
Iterator和foreach使用错误示例
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import org.junit.Test;public class IteratorTest { @Test public void test1(){ Collection coll = new ArrayList(); coll.add(123); coll.add(45.原创 2021-06-14 22:21:26 · 1142 阅读 · 1 评论 -
Java集合
Java 集合可分为 Collection 和 Map 两种体系Collection接口:单列数据,定义了存取一组对象的方法的集合 List:元素有序、可重复的集合 Set:元素无序、不可重复的集合Map接口:双列数据,保存具有映射关系“key-value对”的集合...原创 2021-06-14 20:11:25 · 1081 阅读 · 1 评论 -
Java集合Collection类的contains方法
boolean contains(Object o) 判断集合中是否包含某个对象o,如果包含返回true,底层调用了equals方法。 放在集合中的元素要重写equals方法,不然比较的是地址。 demopackage collection;import java.util.ArrayList;import java.util.Collection;public class CollectionTest04 { public static void main(String[] ar转载 2021-06-14 12:19:48 · 603 阅读 · 0 评论 -
Java 中 Comparable 和 Comparator 比较
本文,先介绍Comparable和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“..转载 2021-06-13 21:10:31 · 88 阅读 · 0 评论 -
java HashSet实现自定义重复规则
实现如下package collection; import java.util.HashSet;import java.util.Iterator;import java.util.Set;class Student{ String name; int age; public Student(){} public Student(String name, int age) { super(); this.name = name; this.age = age; }转载 2021-06-13 20:43:05 · 286 阅读 · 0 评论 -
HashSet,TreeSet是怎么保证元素唯一性的?
HashSet利用的是hashmap中的key不能唯一的原则。通过判断元素的hashCode值是否相同。如果相同,还会继续判断元素的equals方法,是否为true。TreeSet底层保证元素唯一性是通过Comparable或者Comparator接口实现。public class Order { private String orderNo; private String userId; public String getOrderNo() { return orderNo.转载 2021-06-13 20:37:37 · 418 阅读 · 0 评论 -
java 中 contains() containsKey() containsvalue() 使用
contains() 用于判断list集合是否包含某个元素containsKey() 用于判断Map键中是否包含某个键containsValue() 用于判断map中是否包含某个valueeg:List list=new ArrayList():list.add("A");list.add("B");list.add("C");list.add("D");system.out.println(list.contains("B"));Map map=new HashMap();转载 2021-06-12 14:36:23 · 489 阅读 · 0 评论 -
Map接口及其实现类
Map接口Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;Map中的键值对以Entry类型的对象实例形式存在;建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。Map支持泛型,形式如:Map<K,V>Map中使用put(K key,V value)方法添加Map接口中定义的常用方法具体使用在实现类中讨论// HashMap&l转载 2021-06-12 14:28:37 · 238 阅读 · 0 评论 -
Java遍历List、Map和Set
遍历List 首先来创建一个实体类,以供下面使用。public class News{ private int id; private String title; private String author; public News(int id, String title, String author) { super(); this.id = id; this.title = title;原创 2021-06-09 20:53:23 · 184 阅读 · 0 评论 -
解决HashMap不能保证数据顺序问题
最近同事在开发中遇到一个问题,从数据库中查找的使用order by的数据传递到前台后变成无序的。使用的是mysql + mybatis一开始以为是数据order by没有生效,复制sql到客户端查看发现是正确的。后来发现他的映射类型(resultType)是map,外层使用的是HashMap来接受数据,而HahsMap是不能保证顺序的(插入顺序和读取顺序不一致)。由于大部分代码已经完成,在不大规模修改代码的情况下,选择使用可以保证排序的LinkedHashMap。下面写几个小demo,对比一下这转载 2021-06-12 13:59:11 · 962 阅读 · 0 评论 -
一文搞懂java中List、Set各种集合实现类的区别
以下是java中常见的容器简单的关系图:List,也就是我们前面介绍最多的有序集合,它提供了方便的访问、插入、删除等操作。Set,Set 是不允许重复元素的,这是和 List 最明显的区别,也就是不存在两个对象 equals 返回 true。我们在日常开发中有很多需要保证元素唯一性的场合。Queue/Deque,则是 Java 提供的标准队列结构的实现,除了集合的基本功能,它还支持类似先入先出(FIFO, First-in-First-Out)或者后入先出(LIFO,Last-In-First-转载 2021-06-09 22:32:09 · 600 阅读 · 0 评论 -
JAVA中HashMap如何删除元素
HashMap删除元素根据其遍历方式一般有两种方法,实例演示如下:一、采用foreach模式,适用于不需要修改HashMap内元素的遍历,只需要获取元素的键/值的情况。1、遍历如下:2、此时删除HashMap中的元素,Java很有可能会在运行时抛出异常。运行上面的代码,Java抛出了 java.util.ConcurrentModificationException 的异常。并附有如下信息。可以推测,由于在遍历HashMap的元素过程中删除了当前所在元素,下一个待访问的元素的原创 2021-06-09 21:05:19 · 6729 阅读 · 1 评论 -
List如何在遍历时删除元素
背景:业务中经常会涉及遍历list时对集合进行插入或者删除操作一、错误方式先看看下面几段代码,1是foreach的方式去遍历list并删除元素,2是用迭代器的方式遍历list并删除元素,3是下标遍历1. foreachpublic void testDel(){ List<Integer> list = Lists.newArrayList(); for(int i=1;i<=5;i++){ list.a..转载 2021-06-09 21:01:12 · 3951 阅读 · 1 评论