从int转换为Integer并排序

时间:2018-05-04 06:42:47

标签: java arrays sorting java-stream

我正在尝试从int转换为List Integer以便应用stream方法对它们进行排序,但是它声明没有合适的方法。有可能这样做吗?

    public class Testsorting 
{
    public static int [] prize = {5,2,3,7,1,5,9,0,2};

    public static void main(String [] args)
    {
        List<Integer> list = Arrays.stream(prize).
                boxed().collect(Collectors.toList());

        System.out.println(list);

        List <Integer> sortedList = Arrays.stream(list) //error occured on this line
                                           .sorted()
                                           .collect(Collectors.toList());
    }
}

2 个答案:

答案 0 :(得分:3)

Arrays.stream(list)更改为list.stream()

public class Main {
    public static int [] prize = {5,2,3,7,1,5,9,0,2};

    public static void main(String [] args)
    {
        List<Integer> list = Arrays.stream(prize).
                boxed().collect(Collectors.toList());

        System.out.println(list);

        List <Integer> sortedList = list.stream() //error gone on this line
                                           .sorted()
                                           .collect(Collectors.toList());

        System.out.println(sortedList);
    }
}

答案 1 :(得分:2)

只需在下面执行此操作即可。

Arrays.stream(prize).sorted().boxed().collect(Collectors.toList());

Arrays.stream(prize).boxed().sorted().collect(Collectors.toList());

.stream转换为支持IntStream方法ootb的.sorted,但您无法将IntStream直接收集到Collectors.toList()这样的列表中,因为Stream支持.boxed因此,我们可以使用IntStream方法将Stream转换为Collectors.toList,然后您可以直接使用快捷方式boxed

如果你不想通过明确调用Arrays.stream(prize).sorted().collect(ArrayList::new,ArrayList::add,ArrayList::addAll); 从IntStream转换为Stream,你可以直接使用

$.get("https://play.google.com/store/apps/details?id=--bundleID--", function(data){
        htmlContentsArray=$('<div/>').html(data).contents();
        htmlContents=htmlContentsArray['prevObject']['0']['childNodes']['141'].outerText;
        if(htmlContents == ''){
            htmlContents=htmlContentsArray['prevObject']['0']['childNodes']['144'].outerText;
        }
        latest_version_array=htmlContents.split('Current Version');
            var latest_version_string=latest_version_array['1'];
            var latest_version=latest_version_string.substr(0,5);
});

它也会给出相同的结果。