Questions tagged [collections]

111 questions
140
votes
7 answers

Why doesn't Java 8 include immutable collections?

The Java team has done a ton of great work removing barriers to functional programming in Java 8. In particular, the changes to the java.util Collections do a great job of chaining transformations into very fast streamed operations. Considering…
GlenPeterson
  • 14,890
  • 6
  • 47
  • 75
54
votes
9 answers

Is immutability very worthwhile when there is no concurrency?

It seems that thread-safety is always/often mentioned as the main benefit of using immutable types and especially collections. I have a situation where I would like to make sure that a method will not modify a dictionary of strings (which are…
Den
  • 4,827
  • 2
  • 32
  • 48
47
votes
6 answers

Good or bad practice to mask Java collections with meaningful class names?

Lately I've been in the habit of "masking" Java collections with human-friendly class names. Some simple examples: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map { } Or: // If…
herpylderp
  • 2,017
  • 3
  • 21
  • 27
44
votes
8 answers

Why does java.util.ArrayList allow to add null?

I wonder why java.util.ArrayList allows to add null. Is there any case where I would want to add null to an ArrayList? I am asking this question because in a project we had a bug where some code was adding null to the ArrayList and it was hard to…
Alfredo Osorio
  • 904
  • 1
  • 11
  • 18
40
votes
9 answers

Should I accept empty collections in my methods that iterate over them?

I have a method where all logic is performed inside a foreach loop that iterates over the method's parameter: public IEnumerable TransformNodes(IEnumerable nodes) { foreach(var node in nodes) { // yadda yadda…
Nick Udell
  • 1,214
  • 2
  • 11
  • 17
33
votes
6 answers

I'd like to write an "ultimate shuffle" algorithm to sort my mp3 collection

I'm looking for pseudocode suggestions for sorting my mp3 files in a way that avoids title and artist repetition. I listen to crooners - Frank Sinatra, Tony Bennett, Ella Fitzgerald etc. singing old standards. Each artist records many of the same…
DeveloperDan
  • 689
  • 7
  • 12
30
votes
4 answers

Is it OK to partially change a collection with PUT or DELETE?

I have a collection of products in a product group e.g.: product-groups/123/products If I need to add to the collection, is it OK that I pass only some products with PUT? If I need to delete some products from the collection, is it OK that I pass…
user151851
  • 401
  • 1
  • 4
  • 4
28
votes
1 answer

Why do arrays in .Net have Length but other collection types have Count?

In C# for example, arrays have Length property. But other collection types like lists, etc. have Count property. Is there a reason why these two are different? If so I would like to know.
Arunster
  • 407
  • 4
  • 6
27
votes
2 answers

Java: why do collections accept a Comparator but not (a hypothetical) Hasher and Equator?

This issue is most apparent when you have different implementations of an interface, and for the purposes of a particular collection you only care about the interface-level view of the objects. For example, suppose you had an interface like…
Sam
  • 373
  • 3
  • 6
22
votes
7 answers

Should "Set" have a Get method?

Let's have this C# class (it would be almost the same in Java) public class MyClass { public string A {get; set;} public string B {get; set;} public override bool Equals(object obj) { var item = obj as MyClass; if (item ==…
vojta
  • 338
  • 1
  • 2
  • 7
20
votes
3 answers

Is it a sane thing to return Streams wherever we would normally return Collections?

While developing my API that is not tied to any legacy code, I often find myself writing methods that are purely Streams pipeline terminated by collecting the results. Like this one: ImmutableSet deriveSomethingMeaningfulFromPrivateState() { …
jojman
  • 303
  • 1
  • 7
20
votes
5 answers

Efficient way to shuffle objects

I'm writing a program for some quiz software. I have a question class containing the ArrayLists for the question, answer, options, marks and negative marks. Something like this: class question { private ArrayList index_list; private…
user1369975
  • 1,259
  • 4
  • 15
  • 24
16
votes
3 answers

How to unit test method that returns a collection while avoiding logic in the test

I am test-driving a method that is to generate a collection of data objects. I want to verify that the properties of the objects are being set correctly. Some of the properties will be set to the same thing; others will be set to a value which is…
Kazark
  • 1,810
  • 1
  • 17
  • 37
16
votes
2 answers

What is the difference of the add and offer methods of Java's PriorityQueue?

In java.util.PriorityQueue we have the methods add(E e) and offer(E e). Both methods are documented as: Inserts the specified element into this priority queue. What are the differences between these two methods?
agent13
  • 391
  • 1
  • 2
  • 8
15
votes
5 answers

Java Heap Allocation Faster than C++

I already posted this question on SO and it did ok. It was unfortunately closed though(only needs one vote to reopen) but someone suggested I post it on here as it is a better fit so the following is literally a copy paste of the question I was…
aaronman
  • 685
  • 1
  • 6
  • 13
1
2 3 4 5 6 7 8