Java 数组列表和子列表
您好,我非常专注于java编程工作的这一部分。我已经做了我认为对这个问题是正确的,但我不确定它是否正确,因为下一个问题要求将4个不同的字符串添加到两个不同的子列表中(这就是我得到stuk的原因) 这是第一个问题: 创建一个名为balancedThings的变量,其类型为ArrayList of ArrayList of String,并添加一个方法balancedInit(),该方法通过创建一个新的ArrayList>object实例化balancedThings变量,该方法还创建两个新的ArrayList对象,并将它们添加到balancedThings列表中 这是第二个问题: 添加一个方法balancedCreation(),该方法将字符串“剑”和“地图”添加到两个子列表中的第一个子列表,并将字符串“盾牌”和“瓶子”添加到第二个子列表 我的答案是:Java 数组列表和子列表,java,arraylist,sublist,Java,Arraylist,Sublist,您好,我非常专注于java编程工作的这一部分。我已经做了我认为对这个问题是正确的,但我不确定它是否正确,因为下一个问题要求将4个不同的字符串添加到两个不同的子列表中(这就是我得到stuk的原因) 这是第一个问题: 创建一个名为balancedThings的变量,其类型为ArrayList of ArrayList of String,并添加一个方法balancedInit(),该方法通过创建一个新的ArrayList>object实例化balancedThings变量,该方法还创建两个新的Arr
void balancedInit()
{
balancedThings = new ArrayList<>();
balancedThings.add(0, "SubListOne");
balancedThings.add(1, "SubListTwo");
}
void balancedInit()
{
balancedThings=新的ArrayList();
添加(0,“次级活塞”);
平衡事项。添加(1,“次级清单2”);
}
有人能解释一下这个问题是否正确,我下一步应该去哪里才能添加到子列表中吗?您想在ArrayList中添加字符串的ArrayList:
public void balancedInit() {
ArrayList<ArrayList<String>> balancedThings = new ArrayList<ArrayList<String>>();
ArrayList<String> subListOne = new ArrayList<String>();
ArrayList<String> subListTwo = new ArrayList<String>();
// add values to your Sub Lists then ...
balancedThings.add(subListOne); // this will be index 0 implicitly
balancedThings.add(subListTwo); // this will be index 1 implicitly
}
public void balancedInit(){
ArrayList balancedThings=新的ArrayList();
ArrayList subListOne=新的ArrayList();
ArrayList subListTwo=新的ArrayList();
//将值添加到子列表中,然后。。。
balancedThings.add(subListOne);//这将隐式地成为索引0
balancedThings.add(subListTwo);//这将隐式地成为索引1
}
程序员更喜欢在Collections框架中使用多态性,比如将ArrayList声明为List,但在序列化方面,这不是一个好的实践我认为您只需要自下而上构建解决方案。在考虑列表列表之前,先考虑单个列表 首先,您只需要一个字符串列表。您可以这样做:
private static ArrayList<String> firstSublist() {
ArrayList<String> list = new ArrayList<>();
list.add("sword");
list.add("map");
return list;
}
private static ArrayList firstSublist(){
ArrayList=新建ArrayList();
列表。添加(“剑”);
列表。添加(“地图”);
退货清单;
}
ArrayList是您的列表,尖括号中的字符串告诉您列表中的类型。然后添加实际的字符串。对另一个子列表也执行此操作
然后,当你有办法列出你的小清单时,是时候写一个大清单了:
private static void balancedCreation(ArrayList<ArrayList<String>> listOfLists) {
listOfLists.add((firstSublist()));
listOfLists.add((secondSublist()));
}
私有静态无效余额创建(ArrayList列表){
add((firstSublist());
add((secondSublist());
}
这里有一个列表。我知道所有的尖括号都可能与类似于ArrayList
的东西混淆,但请记住从内到外一次看一点
因此,对于大列表,您只需添加一个东西——与子列表完全相同。只要你在更简单的层面上处理业务,提升到顶级水平就不费吹灰之力
最后,main看起来是这样的
public static void main(String[] args) {
ArrayList<ArrayList<String>> listOfLists = new ArrayList<>();
balancedCreation(listOfLists);
}
publicstaticvoidmain(字符串[]args){
ArrayList ListofList=新的ArrayList();
平衡创造(列表);
}
希望这有帮助。以初始化平衡内容的方式初始化和安装“SublistOne”和“SubListTwo”。 这将创建子列表
void balancedInit()
{
ArrayList<ArrayList<String>> balancedThings = new ArrayList<ArrayList<String>>();
ArrayList<String> subLiostOne = = new ArrayList<String>();
ArrayList<String> subLiostTwo = = new ArrayList<String>();
subListOne.add(0,"sword");
subListOne.add(1,"map");
subListTwo.add(0,"shield");
subListTwo.add(1,"bottle");
balancedThings.add(0, subListOne);
balancedThings.add(1, subListTwo);
}
void balancedInit()
{
ArrayList balancedThings=新的ArrayList();
ArrayList subLiostOne==新的ArrayList();
ArrayList subLiostTwo==新的ArrayList();
子活塞。添加(0,“剑”);
次地层。添加(1,“地图”);
子列表2.添加(0,“屏蔽”);
子列表2.添加(1,“瓶子”);
加上(0,次活塞);
增加(1,子列表2);
}
如果答案有用,请将其标记为有用
创建两个新的ArrayList对象并将其添加到balancedThings列表中
您认为如何balancedThings.add(0,“SubListOne”)
正在做什么?是的,您应该添加ArrayList
对象。所以,显然这是不正确的。请坚持Java命名约定,变量是小写的。谢谢Boris,我最近一直在用非Java开发。请考虑一下我的最后一行。