удалить все значения больше 100 из массива int - PullRequest
0 голосов
/ 03 октября 2019

Дан список целых чисел 1,2,3 и т. Д. удалить все значения больше 100? Каким будет код JAVA для этого?

import java.util.ArrayList;
import java.util.List;

public class Main {

public static void main(String[] args) {
    int[] given_list = {0,4,5,56,3, 2000, 453,};


    }
}

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Используя Java 8 Stream API, это может быть достигнуто в виде однострочного кода:

Arrays.stream (Given_list) .filter (x -> x <100) .toArray () </p>

Выше строки кода создает новый массив и не изменяет исходный массив.

0 голосов
/ 03 октября 2019
import java.util.ArrayList;
import java.util.List;

public class DeleteFromList {

public static void main(String[] args) {
   int[] given_list = {0,4,5,56,3, 2000,8,345, 453,}; 

   //since there is no direct way to delete an element from the array we have to use something other than array, like a list.
   List<Integer> list = new ArrayList<Integer>();

   //this changes the whole array to list
   for (int i : given_list){
      list.add(i);
   }

   //this iterates through the list and check each element if its greater then 100
   for(int i=0;i<list.size();i++){
      if(list.get(i) > 100){
         list.remove(i);
         i--;     // this is because everytime we delete an element, the next comes in place of it so we need to check new element.
      }
   }

   //print out the new list which has all the elements which are less than 100
   System.out.println(list);

   }
}

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

...