Paul Krill
Editor at Large

Java needs sequenced collections, OpenJDK proposal says

news
Oct 14, 20222 mins

Proposal for enhancing the Java programming language would define interfaces for sequenced collections, sequenced sets, and sequenced maps.

circular hopscotch numbers in blue and yellow
Credit: Thinkstock

Addressing an issue that has been a source of ongoing complaints, Java could add sequenced collections, sequenced sets, and sequenced maps, anchored by interfaces to represent collections with a defined encounter order.

A proposal pending in the OpenJDK community would define interfaces for sequenced collections, sequenced sets, and sequenced maps, and retrofit them into the existing collections type hierarchy. Motivating the plan are two gaps in Java’s collections framework, the language’s architecture for representing and manipulating collections: It lacks a collection type that represents a sequence of elements with a defined encounter order, and it lacks a uniform set of operations that apply across such operations.

These gaps, the proposal states, have been a repeated source of complaints and problems. For example, although List and Deque both define an encounter order, their common supertype, Collection, does not.

With the sequenced collections proposal, all of the new methods declared in the new interfaces have default implementations. Sequenced collections would be added to the standard edition of Java. The earliest it could arrive would be with JDK 20, due next March, with JDK 19 having just arrived last month as part of standard Java’s six-month release cadence.

A sequenced collection is defined as a Collection whose elements have a defined encounter order. Such a collection has first and last elements, and elements between them have successors and predecessors. Common operations are supported at either end of a sequenced collection. Processing of elements from first to last and from last to first are supported. The proposal marks an incremental evolution of the ReversibleCollections proposal from 2021, to add a ReversibleCollections interface to the collections framework.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author