我是一名有用的助手,可以为您翻译文本。
我遇到了以下问题。我有一个ArrayList(1),其中包含ArrayLists(2)。我需要做的是将结构排序,以便ArrayLists(2)的第一个元素按升序排列下降ArrayList(1)。澄清一下:
输入:
我遇到了以下问题。我有一个ArrayList(1),其中包含ArrayLists(2)。我需要做的是将结构排序,以便ArrayLists(2)的第一个元素按升序排列下降ArrayList(1)。澄清一下:
输入:
3, 8, 6
2, 14, 205, 44, 1
1, 3
输出:
1, 3
2, 14, 205, 44, 1
3, 8, 6
请看它如何仅基于第一个值对行进行排序。
目前,我所定义的数组列表是由数组列表组成的:
List<List<Integer>> graph = new ArrayList<List<Integer>>();
// and I add elements to it likewise
graph.get(currentIndex).add(new ArrayList<Integer>());
我使用ArrayList的原因是因为我读到它比LinkedList更节省内存,而且我正在构建一个图的邻接列表。其中节点数或每个节点的邻接列表长度都可能不同。一行的第一个元素是start_node
,其后是其相邻的节点。请问如何实现此排序?
Comparable
接口。在其中,你可以实现你的逻辑。此外,LinkedList
的缓存局部性较差,因此由于内存分配不连续,可能会导致性能下降。 - MathBunny