"To feel most beautifully alive means to be reading something beautiful" Gaston Bachelard

3 books on Collections in Programming [PDF]

Updated: Nov 11, 2025 | Author:
Many applications require creation and using groups of related objects. There are two methods for grouping objects: using an Array and using a Collection. Arrays are most convenient for creating and working with a fixed number of strictly typed objects. Collections allow dynamic resizing when inserting or deleting elements. Furthermore, collections offer improved type safety and are optimized for data processing in terms of memory consumption.

Collection types can be numerous. They are created for various purposes, implementing standard interfaces (ICollection, ICompare, IList, IEnumerable, IEnumerator) which allow cycles (i.e. foreach) to work with them. However, in books, they are usually first divided into generic and non-generic.

The feature of non-generic collections (ArrayList, Hashtable, SortedList, Stack) is that they contain elements only of class Object. This makes them universal (since you can store elements of different types in a single collection), but to add a value to such a collection, it must first be converted to an object. This process is called Boxing and occurs automatically. The reverse process, Unboxing, must be specified in the code when accessing a collection element, for example, int a = (int)list[0].

If you add not values, but objects to a non-generic collection - an Upcasting operation (casting to the base type Object) occurs instead of boxing. The reverse operation (downcasting) must be specified, for example, Dog dog = (Dog)list[0].

Non-generic collections are type-unsafe, because if you try to get a collection element, for example, int a = (int)list[0], which is actually of type string, an error will occur.

Generic collections (List, LinkedList, Dictionary, HashSet) do not have these problems. Because they are created strictly for a specific type. It's easier for the programmer, faster (since no boxing or upcasting is required) and type-safe. The only caveat (as the books say) is that it makes the program code larger, as the compiler creates a separate collection for each type.

Here are some PDF books about collections:

C# Collections: A Detailed Presentation
by Rick Miller


Download PDF

Java Collections
2013 by John Zukowski


Download PDF

Hands-On Data Structures and Algorithms with Python: Store, manipulate and access data effectively and boost the performance of your applications
2022 by Dr. Basant Agarwal


Download PDF

See also: Top 10 eBook Organizers



How to download PDF:

1. Install Gooreader

2. Enter Book ID to the search box and press Enter

3. Click "Download Book" icon and select PDF*

* - note that for yellow books only preview pages are downloaded
Author: Maria Lin
Maria Lin, is a seasoned content writer who has contributed to numerous tech portals, including Mashable and bookrunch, as a guest author. She holds a Master's degree in Journalism from the University of California, where her research predominantly concentrated on mobile apps, software, AI and cloud services. With a deep passion for reading, Maria is particularly drawn to the intersection of technology and books, making book tech a subject of great interest to her. During her leisure time, she indulges in her love for cooking and finds solace in a good night's sleep. You can contact Maria Lin via email maria@bookrunch.com