您的位置:

java循环list,java循环里面可以用多线程吗

本文目录一览:

java 循环list集合 有几种方法

public static void main(String[] args) {

ListInteger list = new ArrayList();

list.add(0);

list.add(1);

list.add(2);

list.add(3);

list.add(4);

list.add(5);

//for

for(int i=0; ilist.size(); i++){

System.out.println(list.get(i));

}

//for each

for(Integer i : list){

System.out.println(i);

}

//iterator

IteratorInteger it = list.iterator();

while(it.hasNext()){

System.out.println(it.next());

}

//array

Integer[] array = new Integer[list.toArray().length];

list.toArray(array);

// for(int i=0; iarray.length; i++){

// System.out.println(array[i]);

// }

for(Integer i : array){

System.out.println(i);

}

}

关于java list循环的问题

我猜你的想法应该是类似分页的效果,可以根据请求的页数获得数据。

比如:3万行数据,分成6页(当然可以根据每页的数据设置页数),每页5000条数据。

需要第1页的数据,则返回前面的5000条,即 (第1页-1) * 5000 到 第1页 * 5000,这个区间内的数据。依次类推。如果想更加灵活,则动态的设置每页的数据条数。

请求数据的时候,只需要传入相应的页数就好了,即想要那个区间段的数据。

一次一次的请求就可以获得数据了。而且也避免了一次数据过大,占用内存过多。

-----------------------我是华丽的分割线---------------

int all_len = //总数

int page_count = //分页数

int every_page_len = //每页的数据条数

public Map readExcel(int page_index) {

...................

int start = (page_index-1)*every_page_len;

int end = page_index*every_page_len;

for(int i=start ; iend; i++){

......................

}

return XXX;

-----------------------我是华丽的分割线---------------

思路和简单的实现方式就上面这个样子了,一些错误参数控制什么的,我就不仔细考虑了。

java 高级循环 出 list里内容

要循环出 list里内容,就把类封装,通过for循环一层一层往外面拨。

while(rs.next()){

info.setList_id(rs.getString(1));

info.setList_dm(rs.getString(2));

info.setList_sc(rs.getString(3));

list.add(num++, info);

}

StockInfo info = new StockInfo();

怎么装进去就怎么取出来啊。

java 循环一个list

使用容器循环

public static void main(String[] args) {       

               

    ListString list = new ArrayList();       

    list.add("123");       

    list.add("java");       

    list.add("j2ee");       

    System.out.println("=========Iterate循环=======");       

    IteratorString iter = list.iterator();       

    while(iter.hasNext()){       

    System.out.println(iter.next());       

    }       

               

}

刚看了修改了问题。感觉写成一个存储过程不就快了。

java for循环 怎样把一个list里相同的数据放到一起

通过题主的描述可以看到,其实就是一个ListInteger的集合数据处理问题,希望把相同的数据放到一起,是一种归类操作,也就是说其实总得需要把ListInteger形式转化为MapInteger, ListInteger的形式

这种形式map的key也就是当前的这个数字,而这个value就是这个数字对应的所有当前出现此key的集合

ListInteger list = Arrays.asList(1, 1, 2, 3, 4, 2, 1);

MapInteger, ListInteger map = new HashMap();

for (Integer num : list){

    // map是否包含此key,若已经包含则添加一个新的数字到对应value集合中

    if (map.containsKey(num)){

        map.get(num).add(num);

    }else{

    // map不包含此key,则重新创建一个新集合,并把这个数字添加进集合

    // ,再把集合放到map中

        ListInteger newList = new ArrayList();

        newList.add(num);

        map.put(num, newList);

    }

}

System.out.println(map);

输出结果

这只是简单把map打印出来,当然有了这个map,想怎么样输出都是可以的了

额外的,上面的那种写法虽然也还算简单明了,但是对于如今Java8中的流(Stream)操作而言,还是显得太复杂了,而且采用for这种外部循环告诉机器你要怎样循环怎么取值,怎样操作实在繁琐,太过命令式编程,若采用Stream的方式来写上述过程就非常简答了,只需要告诉机器你要做什么就可以了,不用去管怎么循环,只管要什么操作(把JDK升到8即可尝试以下代码)

// 第二种方式Java8 Stream

MapInteger, ListInteger map1 = list.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.toList()));

System.out.println(map1);

一行代码就搞定了,这里采用的是Collectors.groupingBy方法进行归类数据,里面两个参数代表分别代表:

如何把流中的数据进行归类,表示归类的依据,由于是数字本身,所以第一个参数传入Function.identity,就是代表本身的意思,数字相同就归类到一起

第二个参数是代表,把归类到一起的数字怎么合到一起,Collectors.toList代表就是把数字归类成集合,所以返回的就是MapInteger, ListInteger,这正好是我们要的结果

由于Collectors.groupingBy默认是按照Collectors.toList的方式进行归类的,所以上面的代码还可以再减少一个参数,写为

// 第二种方式Java8 Stream

MapInteger, ListInteger map1 = list.stream().collect(Collectors.groupingBy(Function.identity()));

System.out.println(map1);

结果为

结果也是一样的,题主可以自行选择

java关于集合List循环?

package com.xxt.lyh;

import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

ListString list = new ArrayListString();

list.add("张三");

list.add("李四");

list.add("王五");

list.add("赵六");

// for循环。

for (int i = 0; i list.size(); i++) {

String name = list.get(i);

System.out.println(name);

}

// 增强型for循环,java5开始引入。

System.out.println();

for (String name : list) {

System.out.println(name);

}

}

}