Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Debugging: Filtering Arrays and Collections in IntelliJ IDEA

DZone's Guide to

Debugging: Filtering Arrays and Collections in IntelliJ IDEA

IntelliJ IDEA 2017.2 comes with a great feature that allows you to filter arrays and collections while debugging. Take a visual tour of these new features in action.

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

As usual, the newest version of IntelliJ IDEA contains updates to help you debug applications. Given that we are working more and more with large data sets, IntelliJ IDEA 2017.2 has added the ability to filter arrays and collections in our variables or watches.

Breakpoint during debugging

In this example, I have a variable, allWords, that’s a list of Strings. This is a large list, so when I’m debugging my application, I may want to look for specific values, or types of values, in this list. I can do this by right-clicking on the list and selecting “filter”.

Select "filter" on a list or array

Then I can enter the criteria to filter. As you’d expect, IntelliJ IDEA offers code completion and suggestions here.

Code completion on the filter field

The debug window will now show me the subset of values in the list that match these criteria.

List filtered by start of word

If I right-click on the filter, I can edit the filter to change the original criteria or add further filters:

The filter can be changed

And I can easily remove the filter using the clear button:

Press clear to remove the filter

This feature also works on other Collection types and arrays. Here, we’ve added a watch expression that creates an array of random ints:

An int array in watches

We can filter these values, too:

A filtered list of ints

This ability to filter the values in large collections like lists and arrays make it easier for us, as we’re debugging an application, to see which values are available, and particularly if one or more of them match some criteria we’re looking for.

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:
intellij idea 2017.2 ,debugging ,java ,filtering

Published at DZone with permission of Trisha Gee, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}