
排序Java集合
我有一个Java集合:Collection<CustomObject> list = new ArrayList<CustomObject>();CustomObject id现在在显示列表之前有一个字段,我想按此排序此集合id。有什么办法可以做到吗?回答:使用比较器:List<CustomObject> list = new ArrayList<CustomObject>();Comparator<CustomObject> comparator = new Comparator<CustomObject...
2024-01-10
用Java排序的集合
我是Java的初学者。请建议可以/应该使用哪些集合来维护Java中的排序列表。我尝试了Map和Set,但它们不是我想要的。回答:这来得很晚,但是JDK中有一个类只是为了获得排序列表。它被命名(与其他Sorted*接口有些混乱)“ java.util.PriorityQueue”。它可以排序Comparable<?>或使用Comparator。与List sorted using 的...
2024-01-10
Java排序对象集合
如果我有一个简单的字符串列表:List<String> stringList = new ArrayList<String>();我可以对它进行排序:Collections.sort(stringList);但是假设我有一个Person类:public class Person{ private String name; private Integer age; private String country;}并列出:List<Person> personList = new ArrayList...
2024-01-10
从Java集合中删除对象
我有一个HashMap(尽管我猜这个问题也适用于其他集合)对象。据我了解,当文档讨论删除映射时,那么它就是从哈希表中删除条目,即不一定破坏实际对象。如果该表中唯一剩余的对该对象的引用,那么该对象会被垃圾回收吗?如果我这样做了,map.clear()并且表中的那些对象没有在其他任何地方引用,...
2024-01-10
Java集合保持插入顺序
为什么某些集合数据结构不能保持插入顺序?与保持插入顺序相比,有什么特别的事情?如果不维持订单,我们会有所收获吗?回答:性能。如果您想要原始的插入顺序,则可以使用LinkedXXX类,它们在插入顺序中维护着一个附加的链表。大多数时候,您都不在乎,因此您使用HashXXX,或者想要自然订单...
2024-01-10
在Java中获取集合的幂集
的幂集{1, 2, 3}是:{{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}}假设我有一个SetJava语言:Set<Integer> mySet = new HashSet<Integer>();mySet.add(1);mySet.add(2);mySet.add(3);Set<Set<Integer>> powerSet = getPowerset(mySet);如何编写具有最佳可能复杂度的函数getPowerset?(我认为可能是O(2 ^ ...
2024-01-10
PHP中类似Java的集合
我正在学习PHP5(上次检查PHP是在PHP4天内),我很高兴看到PHP5OO比PHP4更像Java,但是仍然有一个问题使我感到非常困惑,因为我的Java背景:阵列。我正在阅读“ ProffesionalPHP6”(Wrox),它显示了自己的Collection实现。我在基于SPL的http://aheimlich.dreamhosters.com/generic-collections/Collection.phps中找到了其他类。我...
2024-01-10
Java集合(LIFO结构)
我正在寻找Java的LIFO结构(堆栈)的Collections框架,但没有成功。基本上,我想要一个非常简单的堆栈;我最好的选择是Deque,但是我使用Java1.5。我不想不必在我的结构中添加另一个类,但是我想知道是否可行:Collections框架(1.5)中是否有任何类可以完成这项工作?如果没有,是否有任何方法可...
2024-01-10
Java集合-唯一键和唯一值
我需要一个可以根据键查找值的集合,反之亦然。每个值都有一个键,每个键都有一个值。有没有可以立即使用的数据结构呢?回答:该BIMAP从谷歌番石榴看起来会适合你。双向映射(或“双向映射”)是一种保留其值以及其键的唯一性的映射。此约束使bimap可以支持“反向视图”,这是另一个bimap,...
2024-01-10
Java值对集合?(元组?)
我喜欢Java具有Map的方式,例如,你可以在其中定义地图中每个条目的类型<String, Integer>。我正在寻找的是一种类型的集合,其中集合中的每个元素都是一对值。该对中的每个值都可以具有自己的类型(如上面的String and Integer示例),该类型在声明时定义。集合将保持其给定顺序,并且不会将值之一视...
2024-01-10
Java:从集合中获取第一项
如果我有一个,例如Collection<String>strs,我如何拿出第一件?我可以先叫一个Iterator,先取一个next(),然后扔掉Iterator。有没有更浪费的方法呢?回答:Iterables.get(yourC,indexYouWant)因为实际上,如果您使用的是夹,则应该使用Google夹。...
2024-01-10
我应该使用哪个Java集合?
在这个问题中,如何在C 11中有效地选择标准库容器?是选择C 集合时要使用的便捷流程图。我认为对于那些不确定应该使用哪个集合的人来说,这是一个有用的资源,因此我试图找到类似的Java流程图,但未能做到。哪些资源和“备忘单”可用来帮助人们选择使用Java进行编程时使用的正确Collection?人...
2024-01-10
Java获取集合的最后一个元素
我有一个集合,我想获取集合的最后一个元素。最直接,最快捷的方法是什么?一种解决方案是先toArray(),然后返回数组的最后一个元素。还有其他更好的方法吗?回答:这不是一个非常有效的解决方案,但是可以工作一个:public static <T> T getFirstElement(final Iterable<T> elements) { return elements.iterator(...
2024-01-10
Java迭代时从集合中删除元素
AFAIK有两种方法:遍历集合的副本使用实际集合的迭代器例如,List<Foo> fooListCopy = new ArrayList<Foo>(fooList);for(Foo foo : fooListCopy){ // modify actual fooList}和Iterator<Foo> itr = fooList.iterator();while(itr.hasNext()){ // modify actual fooList using itr.remove()}是否有任何理由偏...
2024-01-10
Java 我应该返回集合还是流?
假设我有一个将只读视图返回到成员列表的方法:class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); }}进一步假设所有客户要做的就是立即遍历列表一次。也许将播放器放入JList之类。客户端就不能存储到列表...
2024-01-10
Java从集合中选择一个随机元素
如何从集合中选择随机元素?我对从Java中的HashSet或LinkedHashSet中选择随机元素特别感兴趣。也欢迎使用其他语言的解决方案。回答:int size = myHashSet.size();int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than thisint i = 0;for(Object obj : myhashSet){ ...
2024-01-10
空安全集合作为Java 8中的流
我在寻找可以收集流的方法,但它是空安全的。如果collection为null,则返回空流。像这样:Utils.nullSafeStream(collection).filter(...);我创建了自己的方法:public static <T> Stream<T> nullSafeStream(Collection<T> collection) { if (collection == null) { return Stream.empty(); } return collect...
2024-01-10
固定大小的集合中的Java存储对象
我想将对象添加到列表或集合中。这里只能存储5个对象。 如果列表已满,并且新对象想要加入(并且每隔50ms),则应删除第一个(也是最早的)元素。 因为我沉迷于JDK 1.3(没有任何扩展!)我没有找到一个好的解决方案。 任何想法的优雅,简单和快速的方式? 谢谢!固定大小的集合中的Java存储对...
2024-01-10
将Java集合转换为Scala集合
问题与新HashSet(Collection)等效的Scala)相关,如何将Java集合(java.util.List例如)转换为Scala集合List?我实际上是在尝试将Java API调用转换为Spring的SimpleJdbcTemplate(返回a java.util.List<T>)成Scala不可变HashSet。因此,例如:val l: java.util.List[String] = javaApi.query( ... )val s: HashSet[String] = //make a ...
2024-01-10
过滤Java集合的最佳方法是什么?
我想过滤java.util.Collection基于谓词的。回答:Java 8(2014)在一行代码中使用流和lambda解决了此问题:List<Person> beerDrinkers = persons.stream() .filter(p -> p.getAge() > 16).collect(Collectors.toList());这是一个教程。使用Collection#removeIf修改收集到位。(注意:在这种情况下,谓词将删除满足该谓词的对象):persons....
2024-01-10
Java在迭代期间将元素添加到集合中
在迭代集合时是否可以向集合中添加元素?更具体地说,我想遍历一个集合,如果一个元素满足特定条件,我想向集合中添加一些其他元素,并确保也对这些添加的元素进行遍历。(我意识到这可能会导致循环终止,但是我很确定不会发生这种情况。)Sun 的Java教程建议不可能:“请注意,这Iterator.rem...
2024-01-10
计数Java集合中出现次数的优雅方法
给定具有可能重复项的对象的集合,我想最后对每个对象的出现次数进行计数。我通过初始化一个emptyMap,然后遍历Collection并将对象映射到其计数(每次映射已经包含该对象时增加计数)来实现。 public Map<Object, Integer> countOccurrences(Collection<Object> list){ Map<Object, Integer> occurrenceMap = new HashMap<Object, Integ...
2024-01-10
laravel检查,如果集合包含模型
我有一个多对多的关系:laravel检查,如果集合包含模型users (id) user_game (user_id, game_id) games (id, title) 我要检查,如果一个游戏关联到一个特定的用户:$user = User::find(1); $game = Game::where('title', 'pacman'); $gameUsers = $game->users() $gameHasUser = >>> $gameUsers contains $user <<< // How ...
2024-01-10
使用Java集合排序时如何处理null
在Java中使用Collection.sort时,如果内部对象之一为null,应该返回什么?例:Collections.sort(list, new Comparator<MyBean>() { public int compare(MyBean o1, MyBean o2) { return o2.getDate().compareTo(o1.getDate()); }});可以说o2不是null,但o2.getDate()是,因此添加null验证时我应该返回1还是-1或0?回答:...
2024-01-10
如何检查对象是否是Java中的集合类型?
通过使用Java反射,我们可以轻松知道对象是否为数组。判断对象是否为集合(Set,List,Map,Vector …)的最简单方法是什么?回答:if (x instanceof Collection<?>){}if (x instanceof Map<?,?>){}...
2024-01-10
