2013-10-05 5 views
2

Привет, я скорее застрял в этой части моей работы по программированию на Java. Я сделал то, что, по моему мнению, подходит именно для этого вопроса, но я не уверен, правильно ли это, поскольку в следующем вопросе предлагается добавить 4 разных строки в два разных подписок (и thats im im get stuk).ArrayLists and sub-lists

Это первый вопрос:

Создать переменную balancedThings типа ArrayList из ArrayLists строк и добавить метод balancedInit(), который создает экземпляр balancedThings переменную, создав новый ArrayList> объект, и что также создает два новые объекты ArrayList и добавляет их в список balancedThings.

это второй вопрос:

Добавить метод balancedCreation(), который добавляет строку «меч» и «карта» в первый из двух подсписков, а строки «щит» и «бутылочная "Во второй под-список.

Это мой ответ:

void balancedInit() 
    { 
     balancedThings = new ArrayList<>(); 

     balancedThings.add(0, "SubListOne"); 

     balancedThings.add(1, "SubListTwo"); 
    } 

Может кто-нибудь объяснить, если это правильно на вопрос и где я должен идти дальше, чтобы добавить в подсписки?

+0

'создает два новые объект ArrayList и добавляют их к balancedThings list' Что вы думаете ** **' balancedThings.add (0, " SubListOne ");' делает? –

+0

Да, хотя вы должны добавить объекты ArrayList. Так что, очевидно, это неправильно. –

ответ

0

Я думаю, вам просто нужно построить решение снизу вверх. Прежде чем беспокоиться о списке списков, сначала подумайте о отдельных списках.

Итак, сначала вы просто хотите список строк. Вы можете сделать это так:

private static ArrayList<String> firstSublist() { 
     ArrayList<String> list = new ArrayList<>(); 
     list.add("sword"); 
     list.add("map"); 

     return list; 
} 

Список_массивов Является ли ваш список, и Строка в угловых скобках говорит вам, какой тип будет в списке. Затем вы добавляете фактические строки. Сделайте это для другого подсписчика.

Затем, когда у вас есть способ, чтобы сделать ваши маленькие списки, время, чтобы составить один большой:

private static void balancedCreation(ArrayList<ArrayList<String>> listOfLists) { 
     listOfLists.add((firstSublist())); 
     listOfLists.add((secondSublist())); 
} 

Здесь у вас есть список списков. Я знаю, что все угловые скобки могут сбивать с толку что-то вроде ArrayList<ArrayList<String>>, но просто не забудьте взглянуть на него немного за раз изнутри.

Так что с большим списком вы просто добавляете вещь - точно так же, как подсписки. Пока вы занимаетесь бизнесом на более простом уровне, создание до верхнего уровня - это не пот.

В конце концов, главный выглядит следующим образом

public static void main(String[] args) { 
     ArrayList<ArrayList<String>> listOfLists = new ArrayList<>(); 
     balancedCreation(listOfLists); 
} 

Надеется, что это помогает.

0

вы хотите добавить 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 
} 

программисты предпочитают использовать полиморфизм в рамках коллекций, как объявить ArrayList как список, но это не очень хорошая практика, когда дело доходит до сериализации

0

инициализировать и утверждать «SublistOne» и «SubListTwo» так, как вы инициализировали BalancedThings. , который должен создать подсписку.

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); 
    } 

пожалуйста, отметьте ответ, как полезно, если это полезно

+0

Пожалуйста, придерживайтесь соглашений об именах Java, переменные находятся в нижнем верблюжьем корпусе. –

+0

Спасибо, Борис, я развиваюсь в не-Java в последнее время. Пожалуйста, рассмотрите мою последнюю строчку сообщения – Tauseef

Смежные вопросы