Преобразует массив в LinkedList

function Foo(){  
   event.preventDefault(); 
 $.ajax(   {  
      url:"<?php echo base_url();?>Controllername/ctlr_function",
      type:"POST",
      data:'email='+$("#email").val(),
      success:function(msg)      {  
         alert('You are subscribed');
      }
   }   );
}

Я много раз пробовал для хорошего решения, и ответ @taufique помог мне прийти к этому ответу.

NB: Не забудьте поставить event.preventDefault(); в начале тело функции.

-1
задан Mark Rotteveel 18 January 2019 в 12:27
поделиться

1 ответ

Я бы отошел от массивов, если длина:

  • неизвестно
  • может измениться

Я предлагаю использовать один из различных [111 ] реализации из JDK, в частности ArrayList и LinkedList .

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

Второй - это список узлов, что означает, что для каждого добавляемого вами элемента новый (внутренний) объект узла добавляется к последнему узлу.

Вы, конечно, должны изменить свой код для этого.

  1. Определите _cities как List<City>: private List<City> _cities
  2. Инициализируйте это с помощью требуемой реализации в конструкторе: _cities = new ArrayList<>(); или _cities = new LinkedList<>();
  3. В вашем методе добавления вы можете просто вызвать: _cities.add(new City(cityName, XcityCenter, YcityCenter, XStationPoint, YStationPoint, numOfResidents, numOfNeighborhoods));
  4. В вашем getNumOfResidents вы можете использовать следующий фрагмент (который использует API потокового Java, представленный в Java 8):

    return _cities.stream()
        .mapToLong(City::getNumOfResidents)
        .sum();
    
  5. для getCities() вам нужно изменить тип возвращаемого значения на List<City> и использовать следующее: return new ArrayList<>(_cities) или return new LinkedList<>(_cities) в зависимости от реализации, которую вы хотите использовать.

0
ответ дан Lino 18 January 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: