--- old/src/java.desktop/share/classes/javax/swing/JTable.java	2018-03-28 11:51:51.250350001 +0530
+++ new/src/java.desktop/share/classes/javax/swing/JTable.java	2018-03-28 11:51:51.002350001 +0530
@@ -2268,23 +2268,7 @@
      */
     @BeanProperty(bound = false)
     public int[] getSelectedRows() {
-        int iMin = selectionModel.getMinSelectionIndex();
-        int iMax = selectionModel.getMaxSelectionIndex();
-
-        if ((iMin == -1) || (iMax == -1)) {
-            return new int[0];
-        }
-
-        int[] rvTmp = new int[1+ (iMax - iMin)];
-        int n = 0;
-        for(int i = iMin; i <= iMax; i++) {
-            if (selectionModel.isSelectedIndex(i)) {
-                rvTmp[n++] = i;
-            }
-        }
-        int[] rv = new int[n];
-        System.arraycopy(rvTmp, 0, rv, 0, n);
-        return rv;
+        return selectionModel.getSelectedIndices();
     }
 
     /**
@@ -2306,16 +2290,7 @@
      */
     @BeanProperty(bound = false)
     public int getSelectedRowCount() {
-        int iMin = selectionModel.getMinSelectionIndex();
-        int iMax = selectionModel.getMaxSelectionIndex();
-        int count = 0;
-
-        for(int i = iMin; i <= iMax; i++) {
-            if (selectionModel.isSelectedIndex(i)) {
-                count++;
-            }
-        }
-        return count;
+        return selectionModel.getSelectedItemsCount();
     }
 
     /**
