Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 555 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 468 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
How to get a column element from an Instance variable ArrayList

I have created a two dimensional ArrayList by inserting one row at a time. Now I need to find the max value of one column and perform some operations on it and then apply these operations to the other rows in another column. Is this possible? I have been Google'ing and Bing'ing for a week now and nothing seems to work. The array is an Instance variable.
Answers
-
You have to iterate through ArrayList to specific column. If you need to do the specific operations, may be better implement your own List class.
This is example for getting maximum col value:
private static int getMaxColValue(List<int[]> rows, int column) {
int maxValue = 0;
for (int[] row : rows) {
if (row[column] > maxValue)
maxValue = row[column];
} return maxValue;
} -
I have created a two dimensional ArrayList by inserting one row at a time.
No - you haven't - that is NOT possible.
An ArrayList is a list of single instances.
Those instances can be another object class. And if that other class implements the Comparable interface then you can use Collections.sort for the list.
The Java Tutorials has trails that show how to use ALL of the basic Java functionality
https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
Object Ordering
A
List
l
may be sorted as follows.Collections.sort(l);If the
List
consists ofString
elements, it will be sorted into alphabetical order. If it consists ofDate
elements, it will be sorted into chronological order. How does this happen?String
andDate
both implement the<a class="APILink" href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html" target="_blank">Comparable</a>
interface.Comparable
implementations provide a natural ordering for a class, which allows objects of that class to be sorted automatically. The following table summarizes some of the more important Java platform classes that implementComparable
.Implement the Comparable interface in the class that implements those 'rows'
If you try to sort a list, the elements of which do not implement
Comparable
,Collections.sort(list)
will throw aClassCastException
. Similarly,Collections.sort(list, comparator)
will throw aClassCastException
if you try to sort a list whose elements cannot be compared to one another using thecomparator
.