import java.util.*; import java.util.function.Function; import java.util.function.ToDoubleFunction; import java.util.function.ToIntFunction; import java.util.function.ToLongFunction; /** * Created by Kodulf on 2017/4/6. */ public class CollectionTest { /** * 苍老师mv(c collection,l list,s set,m,map,v vector * 钻石无或配不上,咋啊双人床无或配不上,挨扁不用初中生 * list 你(list)瞎掰,挨g人是sb,来了挨g人服了。 * set,谁,嘿嘿等顺序,停车c大吼排嘘。 * * * 钻石无或配不上,咋啊双人床无或配不上,挨扁不用初中生 * c 钻石无或配不上,z增 增加add,addAll,s删除,remove,clear,无或 没有获得,p配 判断isEmpty,b不 遍历Iterator,s上 转数组 * 咋啊双人床无或配不上,遍历的时候不能够在遍历的里面使用collection进行增删,必须使用iterator进行 * 在Iterator 遍历里面,不要用collection的对象进行增删,挨扁不用初中生,(ai Iterator,b遍历,不用,collection进行 z增s删) * * * list 你(list)瞎掰,挨锅人是sb,来了挨锅人服了。 * agrssb 瞎掰,挨锅人是sb。增删获更遍历都可以通过下标来的,ListIterator 可以在里面直接进行遍历的时候进行add和set。 * List: 是有顺序的,分为ArrayList(列表) 和 LinkedList(链表) * List 都是有下表的,增删获更遍历都可以通过下标来的。arsgsb 阿仁是个sb。 * ListIterator 可以在里面直接进行遍历的时候进行add和set, * LinkedList 来了挨锅人服了。linkedlist来了,add挨,get锅,remove人,fisrt服,last了 * list 里面判断是否包含的contains 是通过equals 来判断的,如果是String就是内容,如果是对象就是地址,基本数据类型就是值 * * set,谁,嘿嘿,等顺序,停车c大吼排嘘。(车c compareTo,comparator) * HashSet,TreeSet * 首先并不是都是要比较equals的方法的, * hashset 首先比较的是hashcode,如果hashcode相等,那么在判断equals * treeset,比较的只有是compareTo,comparator,带有排序的功能,但是必须是相同的类,不然如果出现了Student和String,那么就不好辨识了。除非重写Student的compareto方法 * compareTo里面使用的是本地的减去被比较的,如果大于说明就是要排在被比较的后面,一般都是和前面的进行比较的,所以如果大于,那么输出的时候直接就是在后面了,如果将某一个类的compareTo设置为1那么后面添加的一定排在前面添加的后面 * 大吼排嘘,大的放在后面,treeset可以利用这点进行排嘘 * * * * * * @param args */ public static void main(String[] args){ testCollection(); testList(); testAddAndRemoveIterator(); testAddAndRemoveListIterator(); testVector(); testLinkedList(); testMoNiDuiZhan(); testRemoveDuty(); testCeshiDuixiangEquals(); testHashSet(); testTreeSetWithComparator(); testHashSetAndTreeSet(); testHashOrder(); } /** * 注意了Collection, Collections 是不同的Collections 是工具类,可以用来进行排序的 * 钻石配不上,z增,s删除,p判断,b遍历,s数组 */ private static void testCollection() { Collection collection = new ArrayList(); collection.add("aa"); collection.add("bb"); collection.add("cc"); collection.add(99); System.out.println(collection); Collection coll2 = new ArrayList(); coll2.add("dd"); coll2.add("ee"); collection.addAll(coll2); System.out.println(coll2); System.out.println(collection); //删除 collection.remove(99); coll2.clear(); System.out.println(collection); //判断 System.out.println(collection.contains(99)); System.out.println(collection.isEmpty()); System.out.println(collection.size()); //遍历 Iterator iterator = collection.iterator(); while (iterator.hasNext()){ Object next = iterator.next(); System.out.println(next); } //集合转数组 Object[] objects = collection.toArray(); for (int i = 0; i < objects.length; i++) { System.out.println(objects[i]); } } /** * list的特点,可以带下标,也可以通过下表遍历 */ public static void testList(){ List col = new ArrayList(); col.add("aa"); col.add("bb"); col.add("cc"); col.add(0,"00"); System.out.println(col); col.remove(0); System.out.println(col); col.set(2,"22"); System.out.println(col); System.out.println(col.get(2)); System.out.println(col.subList(0,1)); Iterator iterator = col.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } for (int i = 0; i < col.size(); i++) { System.out.println(col.get(i)); } while (!col.isEmpty()){ System.out.println(col.remove(0)); } } /** * 测试list的iterator * 在迭代的过程中使用集合对集合中的对象进行添加,删除,例如:col.remove("cc"); 修改会发生ConcurrentModificationException */ public static void testAddAndRemoveIterator(){ List col = new ArrayList(); col.add("aa"); col.add("bb"); col.add("cc"); Iterator iterator = col.iterator(); while (iterator.hasNext()){ Object next = iterator.next(); if("cc".equals(next)){ System.out.println(next); try { iterator.remove(); }catch (Exception e){ e.printStackTrace(); } }else { System.out.println(next); } } System.out.println(col); } /** * 在迭代的过程中使用集合对集合中的对象进行添加,删除,例如:col.remove("cc"); 修改会发生ConcurrentModificationException * 相比于Iterator ListIterator 可以进行添加 */ public static void testAddAndRemoveListIterator(){ List col = new ArrayList(); col.add("aa"); col.add("bb"); col.add("cc"); ListIterator listIterator = col.listIterator(); while (listIterator.hasNext()){ Object next = listIterator.next(); if("cc".equals(next)){ //在迭代的过程中使用集合对集合中的对象进行添加,删除,例如:col.remove("cc"); 修改会发生ConcurrentModificationException //col.remove("cc"); listIterator.remove(); //相比于Iterator ListIterator 可以进行添加 listIterator.add("hahhahahah "); }else { System.out.println(next); } } System.out.println(col); } public static void testVector(){ Vector v = new Vector(); v.add("haha"); v.add("hehe"); v.add("xixi"); Enumeration elements = v.elements(); while (elements.hasMoreElements()){ System.out.println(elements.nextElement()); } } public static void testLinkedList(){ LinkedList linkedList = new LinkedList(); linkedList.add("11"); linkedList.add("22"); linkedList.add("33"); linkedList.add("44"); linkedList.addFirst("first"); linkedList.addLast("last"); System.out.println(linkedList); System.out.println(linkedList.getFirst()); System.out.println(linkedList.getLast()); linkedList.removeFirst(); linkedList.removeLast(); System.out.println(linkedList); linkedList.offerFirst("offerFirst"); linkedList.offerLast("offerLast"); System.out.println(linkedList.peekFirst()); System.out.println(linkedList.peekLast()); Object o = linkedList.pollFirst(); linkedList.pollLast(); System.out.println(linkedList); } /** * 模拟堆栈 */ public static void testMoNiDuiZhan(){ Dui dui = new Dui(); dui.in("1"); dui.in("2"); dui.in("3"); dui.chu(); System.out.println(dui.linkedList); Zhan zhan = new Zhan(); zhan.in("1"); zhan.in("2"); zhan.in("3"); zhan.chu(); System.out.println(zhan.linkedList); } /** * 队,先进先出,addLast,getFirst */ static class Dui{ LinkedList linkedList = new LinkedList(); public Dui(){ } public void in(Object object){ linkedList.addLast(object); } public Object chu(){ Object ret= new Object(); if(linkedList.size()>0) ret = linkedList.removeFirst(); return ret; } } /** * 栈,先进后出,addLast,getLast */ static class Zhan{ LinkedList linkedList = new LinkedList(); public Zhan(){ } public void in(Object object){ linkedList.addLast(object); } public Object chu(){ Object ret= new Object(); if(linkedList.size()>0) ret = linkedList.removeLast(); return ret; } } /** * 去除重复的数据 */ public static void testRemoveDuty(){ ArrayList arrayList = new ArrayList(); arrayList.add("hello world"); arrayList.add("bbbbbbbbbbb"); arrayList.add("bbbbbbbbbbb"); arrayList.add("bbbbbbbbbbb"); ArrayList newArrayList = quchu(arrayList); System.out.println(newArrayList); quchuwithIterator(arrayList); System.out.println("测试final 修饰的对象"); System.out.println(arrayList); } /** * 去除重复的 * @param arrayList * @return */ private static ArrayList quchu(ArrayList arrayList) { ArrayList newArrayList = new ArrayList(); for (int i = 0; i < arrayList.size(); i++) { if(newArrayList.contains(arrayList.get(i))){ }else{ newArrayList.add(arrayList.get(i)); } } return newArrayList; } /** * 去除重复的,如果使用Iterator 的话,那么原来的ArrayList 也会改变的的 * 这个就是值传递里面的对象,地址不变,但是里面的内容会改变的,原来的对象相当于是用final 修饰了,虽然地址不变,但是里面的内容是可以改变的 * @param arrayList * @return */ private static ArrayList quchuwithIterator(ArrayList arrayList) { ArrayList newArrayList = new ArrayList(); ListIterator listIterator = arrayList.listIterator(); while (listIterator.hasNext()){ Object next = listIterator.next(); listIterator.remove(); } return newArrayList; } private static void testCeshiDuixiangEquals(){ ArrayList<Student> arrayList = new ArrayList(); arrayList.add(new Student(12,"Hellen")); arrayList.add(new Student(13,"Hellen3")); arrayList.add(new Student(14,"Hellen4")); arrayList.add(new Student(15,"Hellen5")); arrayList.add(new Student(12,"Hellen")); arrayList.add(new Student(12,"Hellen")); ArrayList quchu = quchu(arrayList); System.out.println(quchu); } static class Student implements Comparable{ Student(int age,String name){ this.age = age; this.name = name; } int age; String name; /** * 如果不重写hashcode,那么hashset里面添加的时候是有问题的,就是即使equals的方法重写了,但是没有重写hashcode 也是没有用到的 * 但是ArrayList的contains里面值判断equals的方法 * @return */ @Override public int hashCode() { System.out.println("hashcode"); int i = this.age + (int) (Math.random() * 100); System.out.println(i); return i; } @Override public boolean equals(Object obj) { boolean ret = false; if(obj instanceof Student){ Student target = (Student) obj; if(target.age == this.age && StringUtil.isNotEmpty(target.name)&&StringUtil.isNotEmpty(this.name)&&this.name.equals(target.name)){ ret = true; } System.out.println("比较里面的:"+(ret?"相同":"不相同")); } System.out.println(ret?"相同":"不相同"); return ret; } @Override public String toString() { return "age="+this.age+" name="+this.name; } @Override public int compareTo(Object o) { int ret = 0; if(o instanceof Student){ Student o1 = (Student) o; ret = this.age - o1.age; if(ret == 0){ ret = this.name.compareTo(o1.name); } } System.out.println(ret); return 0; } } /** * 测试hashset,注意了,这里面如果使用上面的重写equals的Student的,那么还是不会过滤掉这里面的多余的Student,除非重写了hashcode的方法 * HashSet吗,hash吗,所以要判断has, */ public static void testHashSet(){ HashSet hashSet = new HashSet(); hashSet.add("hello"); hashSet.add("hello1"); hashSet.add("hello"); hashSet.add("hello"); hashSet.add(new Student(12,"hello12")); hashSet.add(new Student(12,"hello12")); hashSet.add(new Student(12,"hello12")); hashSet.add(new Student(12,"hello12")); System.out.println(hashSet); } /** * 测试treeset,默认的会进行排序的 */ public static void testTreeSet(){ TreeSet treeSet = new TreeSet(); treeSet.add("123456789"); treeSet.add("1234567892"); treeSet.add("1234567891"); treeSet.add("1234567895"); treeSet.add("1234567893"); System.out.println(treeSet); } /** * Tree 相关的都是要进行比较的,两种方式: * 1:是被比较的类实现了Comparable的接口, * 2:自定义一个Comparator去实现Comparator */ public static void testTreeSetWithComparator(){ MyComparator myComparator = new MyComparator(); //方法一:被比较的类实现Comparable的接口 TreeSet treeSet = new TreeSet(); //TreeSet treeSet = new TreeSet(myComparator); treeSet.add(new Student(12,"jack1")); treeSet.add(new Student(12,"jack1")); treeSet.add(new Student(12,"jack3")); treeSet.add(new Student(12,"jack4")); treeSet.add(new Student(12,"jack5")); System.out.println(treeSet); } static class MyComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { //首先比较age,然后比较name int ret = 0; ret = o1.age -o2.age; if(ret ==0){ ret = o1.name.compareTo(o2.name); } return ret; } } // static void testHashSetAndTreeSet(){ HashSet hashSet = new HashSet(); hashSet.add("000"); hashSet.add("234"); hashSet.add("345"); hashSet.add("000"); hashSet.add(new Student(12,"12")); hashSet.add(new Student(12,"122")); hashSet.add(new Student(12,"1222")); hashSet.add(new Student(12,"12222")); hashSet.add(new Student(12,"122222")); System.out.println(hashSet); System.out.println("————————————————————"); TreeSet treeSet = new TreeSet(); // treeSet.add("098"); // treeSet.add("099"); // treeSet.add("100"); // treeSet.add("096"); // treeSet.add("092"); treeSet.add(new Student(12,"222222")); treeSet.add(new Student(12,"122")); treeSet.add(new Student(12,"1222")); treeSet.add(new Student(12,"12222")); treeSet.add(new Student(12,"122222")); System.out.println(treeSet); } /** * 测试hash的排列的顺序 */ private static void testHashOrder() { TreeSet hashSet = new TreeSet(); hashSet.add("abc"); hashSet.add("1"); hashSet.add("12"); hashSet.add("890"); hashSet.add("bcd"); System.out.println(hashSet); } }
相关推荐
从SolidWorks到URDF:插件使用、关节配置与PyBullet仿真避坑指南
本文提供了一份从SolidWorks导出URDF模型并导入PyBullet进行仿真的完整实战指南。详细讲解了SolidWorks插件的正确安装与配置、关节类型的选择与坐标系对齐的核心技巧,并针对PyBullet仿真中常见的模型散架、路径错误、物理属性异常等问题提供了深度避坑解决方案,帮助机器人开发者高效完成从设计到仿真的全流程。
Collection读书笔记
集合 集合与数组的区别为: 1.数组的长度固定,集合的不固定 2.数组可以存储基本类型和引用类型,集合中存储的元素类型只能是引用类型。 主要分为两个框架,分别为collection集合和map集合框架 Collection接口 ==1.collection中常用的难记方法: == 1.1 contains(Object o):如果此 collection 包含指定的元素,则返回true。 ...
Claude Code长期记忆:优雅的上下文管理
ClaudeCode的上下文管理系统采用三层架构设计,通过智能压缩和优化策略在记忆容量与性能间取得平衡。系统包含短期记忆(高速工作区)、中期记忆(智能蒸馏器)和长期记忆(持久化知识库)。当Token使用率达到92%阈值时启动wU2压缩器,采用8段式结构化摘要保留关键信息,并配合智能文件恢复和渐进式预警机制。该系统通过分层处理、优雅降级和透明化交互,为AI应用提供了高效可靠的上下文管理方案,展现了在有限资源下实现智能记忆的艺术。
Collection基础笔记
Collections常用方法: public static <T> boolean addAll(Collection<? super T> c, T... elements)//往集合中添加一些元素 public static void shuffle(List<?> list)//打乱集合顺序 public static <T extends Comparable<? super T>> void sort(List<T&g..
Python量化入门:用pytdx获取800个交易日K线数据的完整指南(附代码)
本文为Python量化交易初学者提供了使用pytdx库免费获取股票日线级别K线数据的完整指南。文章详细介绍了从环境搭建、单只股票数据获取,到构建健壮的批量下载器、数据清洗与验证,再到基础分析与可视化的全流程,并附有可直接运行的代码示例,帮助读者快速建立本地股票数据库。
LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南
本文详细介绍了在LinuxMint 22.1(Ubuntu24.04)系统下通过Wine完美运行同花顺远航版的实战指南。从基础环境准备到深度优化,包括Wine环境配置、同花顺远航版安装、字体显示调优、任务栏兼容性修复等关键步骤,帮助Linux用户高效使用同花顺远航版进行股票交易和行情分析。
Collection List Set Map 区别记忆
这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否
闲人闲谈PS之一项目库存跨公司业务STO解决方案--SAP闲人的开篇
写这篇文章之前,简单说一下发这篇文章的动机。也算是在SAP这一行干了快10多年,在对一个模块了解越来越深入,越发觉自己的SAP知识浅薄。总的来说,和多数顾问一样,对于**标准功能**的应用业务场景理解还是存在或多或少的知识盲区。 因为一个偶然,看到SAP团子君的文章,分享了很多干货文章。这也是自己一直想做的时候,不管水平高低与否,分享本身就意味着提升。好了废话不多说,先在优快云上发一篇吧,困惑自己将近10年的问题的解决方案。 业务场景:在项目型企业中,通常会有这样的业务,母公司和客...
Collection接口的方法 集记
int size(); boolean isEmpty(); boolean contains(object o); Iterator iterator(); Object[ ] to Array (); <T>T[] toArray(T[] a); boolean add(E e); boolean remove (Objective o); boolean containsAll(Collec...
初识机会网络仿真器ONE中ExternalMovement移动模型(导入外部移动数据)
最近半个月一直在研究ONE中关于ExternalMovement移动模型的源代码,在网上几乎没有找到相关的资料,很是苦恼,如果有共同研究方向的小伙伴欢迎联系我,共同讨论进步。 下面记录一下几点感悟: 1、使用外部数据的前提是在ONE的配置文件中增加及修改相关代码: Group.movementModel = ExternalMovement ExternalMovement.file = move...
金融数据自动化:从同花顺API到Excel的智能转换之旅
本文详细介绍了如何利用同花顺API实现金融数据自动化处理,并将其智能转换为Excel格式的全流程。通过Python编程和Excel高级技巧,读者可以掌握从数据获取、清洗到输出的完整解决方案,大幅提升金融数据分析的效率和准确性。文章特别强调了同花顺API的使用技巧和Excel自动化输出的最佳实践。
collection集合学习笔记
collection list linklist arraylist set hashset treeset map hashmap propreties treemap hashtable collection 是list 和set的父类 本省是个借口 集合
利用人工神经网络在Abaqus中实现本构模型的网格粗化计算框架:详细指南与实践
在这篇文章中,我们详细介绍了如何在Abaqus中实现基于人工神经网络(ANN)的本构模型以进行网格粗化的计算框架。我们通过两个主要模块——数据生成器模块和ANN训练模块,实现了这一计算框架,并将训练好的ANN集成到Abaqus的用户材料子程序(UMAT)中,创建了一个基于ANN的本构模型。我希望这篇文章能帮助到那些希望在Abaqus中实现基于ANN的本构模型的读者,同时,我也非常欢迎大家提出宝贵的意见和建议,让我们共同进步。
Java Collection,List集合和Set集合
类实现Comparable接口,重写比较规则。集合自定义Comparator比较器对象,重写比较规则。
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
Collection、HashMap等java记录集的使用总结
经常会看到程序中使用了记录集,常用的有Collection、HashMap、HashSet、ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手。在这儿作了一个小例子,希望有助于帮大家理顺思路。首先看一下它们的关系:Collection --List:-----------------------以特定次序存储元素。所以取出来的顺序可能和放入顺序
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
Java Collection
它不需要考虑扩容,空间上更加紧凑等。Collection集合类都不是线程安全的,但并不代表这些集合完全不能支持并发编程的场景,在Collections工具类中提供了一系列的synchronized方法,但平常不推荐使用,同步控制粒度太大,不适合对性能要求较高的场景。Queue/Deque,Java提供的标准队列结构的实现,除了集合的基本功能,它还支持类似先入先出(FIFO, First-in-First-Out)或者后入先出(LIFO,Last-In-First-Out)等特定行为。
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
记录一下,laravel collection和 java stream 的用法和区别
文章目录Stream 简介定义三个步骤特性性能?一段代码的思考Laravel collection 常用方法 -> Javaall()avg() average() max() min()contains()diff()filter() intersect() where() whereIn()first()groupBy()isEmpty() isNotEmpty()keyBy()map()pluck() transform()unique()参考资料: Stream 简介 定义 Stream 是
Java学习记录之Collection接口
Collection 是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。先通过一张关系图来说明一下Collection: /* java.util.Collection接口 所有单例集合的最顶层的接口,里面定义了所有单列集合共性的方法 **任意的单例集合都可以使用Collect...
比较Collection 和Collections的区别 java
今天翻看Java笔试题,发现有这样问题,比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collecti
Java源码——Collection接口学习记录
Java源码——Collection 本文记录了我学习Collection接口源码的一些知识点和遇到的困惑,以及我自己的理解和感悟。希望能通过写博客的方式来加深对源码的理解,也希望可以给像我一样想要看源码的同学提供一点点帮助。
Java中Collection和Collections的区别
比较Collection 和Collections的区别
JAVA COLLECTION 区别,Java中Collection和Collections的区别
[Collection 和 Collections的区别。Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。 Collection是个java.util下的接口,它是各种集合结构的父接口今天翻看Java笔试题,发现有这样问题,比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection ...
Java中Collection和Collections的区别 LIST和MAP的区别
比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├Link
Java的Map接口,以及Collection和Collections的区别
一、JAVA集合类(Collection接口、Map接口) java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。而Java集合大致可以分为Set、List、Queue和Map四种体系,其中Set代表无序、不可重复...
java collection collections_Java Collection和Collections的区别
今天翻看Java笔试题,发现有这样问题, 比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个 集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collec1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set而C...
Java 的 Collection 集合体系
Java集合框架(JCF)提供了一套标准化的接口和实现,用于存储和操作对象组。核心接口包括: 1️⃣ Collection(单列集合根接口) 2️⃣ List(有序可重复,实现类:ArrayList、LinkedList等) 3️⃣ Set(无序唯一,实现类:HashSet、TreeSet等) 4️⃣ Queue(队列,含Deque双端队列) 主要特点: ArrayList基于动态数组,随机访问快;LinkedList基于链表,插入删除快 HashSet基于哈希表查询最快;TreeSet基于红黑树保持有序
542



被折叠的 条评论
为什么被折叠?



