【发布时间】:2017-01-06 07:06:52
【问题描述】:
我最近开始使用邻接矩阵处理图,虽然 2D 整数数组通常足以用于加权图,但存在一个特殊问题,即每当我访问行 m 的元素时, n 列,我必须删除该行和列。由于只能(很容易)在列表中删除,因此我尝试切换到具有列表列表的数据结构,但很快意识到我无法单独访问单个列表的元素。这是一个澄清的例子-
import java.util.*;
public class List_Of_List_Example
{
static List list1=new ArrayList<List>();
public static void main(String[]args)
{
List lt1=new ArrayList(Arrays.asList(1,2,3));
list1.add(lt1);
List lt2=new ArrayList(Arrays.asList(4,5,6));
list1.add(lt2);
List lt3=Arrays.asList(list1.get(0));
System.out.println(lt3.get(0));//Outputs [1,2,3]
}
}
在上面的代码中,我希望能够在从主列表中获取特定列表后访问 lt3 的每个单独元素。关于如何解决此问题的任何想法?
谢谢
P.S 即使我尝试使用整数数组列表,同样的问题仍然存在。
【问题讨论】:
-
如果您正在使用图表,那么我建议您专门使用该数据结构。列表是图表,但图表不一定是列表。
-
无论如何我可以快速删除行和列?@TimBiegeleisen
-
不相关: 1) 您不能拥有“Java 中原始数据类型列表的列表”。
List不能存储原始值。 2) 不要使用 raw 泛型类型。List是一个很大的禁忌。它应该是List<Integer> lt1和List<List<Integer>> list1。 3) 原语int值1,2, ... 被编译器自动装箱为Integer。
标签: java arrays object arraylist graph