Assume that there is an ArrayList<Object[]> containing various objects inside:
ArrayList<Object[]> list = new ArrayList<>();
list.add(new Object[]{"cat", (long)1422355945});
list.add(new Object[]{"dog", (long)1422355970});
list.add(new Object[]{"rat", (long)1422355900});
How can we sort this list effectively by first Object (which is String) in reverse order? And to do the same by second Object (which is long)?