Talk:Container (abstract data type)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computer science  
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Definetly needs to be merged

All informations from Container class have been merged here. Links from Container class have also been redirected to this article Hervegirod 13:09, 27 May 2007 (UTC)

Container vs collection[edit]

There's an other article with similar content: Collection (abstract data type).

To my mind, both collections and containers are related, but are definitively not the same concept. A container hold one or many other objects, allowing access to those objects through the container and eventually providing some kind of support to the stored objects.

By many aspects this definitions is compatible with other usage of the term "Container" (like in Web container or Graphic container).

A collection is a special kind of container (inheritance relation here), whose only purpose is to store and retrieve objects.

Sylvain Leroux (talk) 09:18, 10 December 2007 (UTC)

  • IMHO, container is any type which contains another, e.g. wrappers etc. Collection should consist of multiple objects. Needs to be de-merged! (talk) 11:05, 18 November 2008 (UTC)
  • That's a circular definition "container is any type that contains another"! Yttrill (talk)
  • to my mind both these articles are severely restricted by talk of objects. Containers and/or collections exist in functional programming languages too. Yttrill (talk) —Preceding undated comment added 14:47, 13 February 2011 (UTC).

H Brydon 2011/03/18

  • IMHO a collection of objects is different from a container. A dozen apples is different from a basket of apples, which is different from a bag of 12 apples. The apples are a collection. The basket and bag are containers. And of course there could be a truckload of bagged apples or a box of bags. The collection and the container are distinct... should be de-merged —Preceding unsigned comment added by (talk) 02:19, 19 March 2011 (UTC)
  • Should be merged, in the context of Abstract Data Types. That is to say, as far as ADTs are concerned the two terms are synonymous. We can say that a container has an existence even if empty (like an instance of an ADT). While there may be collections that are not contained - e.g., there was no container as such that held the Beatles - this distinction is irrelevant as far as ADTs are concerned, as data collections are by definition contained in a data structure. Trevithj (talk)

Gabor Melli 2013/12/01

  • Should be merged into Collection (ADT),

    my main evidence is that data structure textbooks do not differentiate between the two. e.g. [1]

    Also, the literature prefers "Collection" over "Container" (e.g. [2]). Notice, that the search on Collection in Google Scholar returns ~7,000 documents"a+collection"+"abstract+data+type"+-java while on Container returns only ~400 "a+container"+"abstract+data+type"+-java (I removed "java" from the search to show that "container" is Java centric - which is additional evidence that "Container" more often refers to a data structure rather than an ADT).

Difference wasn't not shown by User:Sylvain Leroux. They are aliases to the very same concept. Ushkin N (talk) 01:18, 24 May 2016 (UTC)


Comparison of different containers would be useful imho (talk) 18:12, 14 June 2008 (UTC)

Strong typing[edit]

The article should mention that a container can be or not be strongly typed, and maybe add a line about the advantage of strongly typed ones. (talk) 16:39, 17 February 2009 (UTC)

06/21/2009 cleanup[edit]

Added link to .NET implementation, restructured section into list by (language) (info). —Preceding unsigned comment added by (talk) 22:32, 21 June 2009 (UTC)

Do the merge[edit]

I suggest doing the merge, as I have removed half the text of the "Container" article as too vague to be useful or too language centric to be meaningful, the rest does not appear to be substantive enough to retain.

Alternatively, one might agree that a container is something that "holds" a collection, which would make it a substantially more "object oriented" notion than collection. For example a list in a functional language is not an object and it is not a container but it is a collection. The same list in C++ is likely to be managed by a top level holder object or container.

However Wikipedia shouldn't be reflecting my personal thoughts on this. Unless some substantive references can be cited it should not be making the distinction. I can suggest relevant definitions from ISO Standards may be useful (I don't mean language standards, ISO also publishes language independent computing related definitions, and these ought to be considered "standard" enough to cite -- if you can get access to them).

Yttrill (talk) —Preceding undated comment added 15:10, 13 February 2011 (UTC).

  • I agree that with what is in the article for now, it would be better to merge it with Collection, and add in the Container disamb some text explaining that a Container hold a Collection of elements. Hervegirod (talk) 16:41, 13 February 2011 (UTC)
  • disagree A collection is a meta concept above a data structure. It should not be merged. Perhaps, the Collection article should reflect this better, but a merge would be inappropriate with the concept. Sae1962 (talk) 21:52, 1 April 2011 (UTC)

Merging "Container" and "Collection"[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made in a new section. A summary of the conclusions reached follows.
The result of the discussion was no consensus.

Does the literature make a distinction between Containers and Collections? —Ruud 20:18, 2 December 2011 (UTC) YOU CANNOT MERGE as different Computer Languages use different terminologies exclusively in order to differentiate methods/proceedures etc. The "Science" of Computing classifies types using its own terminology.

It seems academics get upset by Language creators. The general scientific term is one thing, for Professors and academics.

For the students of say, Java, an online search would become difficult if general scientific abstractions were used. What is the point of being academically correct but undiscoverable in common usage? A medical doctor has a medical term for the growth on a man's nose, and also for the medicine to remove it. Ordinary people may have no idea of these terms. — Preceding unsigned comment added by (talk) 14:01, 30 April 2012 (UTC)

The above discussion is closed. Please do not modify it. Subsequent comments should be made in a new section.