Java 如何打印出List中得值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 如何打印出List中得值相关的知识,希望对你有一定的参考价值。

现在有一段代码:
List<Float[]> Price = new FastList<Float[]>();
String[] _price = Settings.getProperty("Price", "0,0").split(";"); //从配置文件中读数据
for(String tmpprice : _price)//开始向List中添加数据

String[] _tmpprice = tmpprice.split(",");
try

Price.add(new Float[] Float.valueOf(_tmpprice[0]), Float.valueOf(_tmpprice[1]));

catch(NumberFormatException e)



请问怎样能通过System.out.println的方式在屏幕输出List(Price)中的各个值

参考技术A package com.ldc.test;

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

/**
*
* @author 愿做无聊听众6
*
*/
public class Test
public static void main(String[] args)
Float[] fl1=new Float[3];//模拟数据1
fl1[0]=2.8f;
fl1[0]=08f;
fl1[0]=18f;

Float[] fl2=new Float[3];//模拟数据2
fl2[0]=2f;
fl2[0]=82f;
fl2[0]=33f;

List<Float[]> list=new ArrayList<Float[]>();//集合
list.add(fl1);
list.add(fl2);
for (Float[] floats : list) //------------------遍历
for (int i = 0; i < floats.length; i++)
System.out.print(floats[i]+" --> ");

System.out.println();



参考技术B 两层for就行了追问

详细一点好吗
我不知道怎么写

追答

for( Float[] listItem: Price )
for(Float f:listItem)
System.out.print(f);
System.out.print(" ");

System.out.println(" ");//换行

追问

不太行 有其他的办法吗 Eclipse提示发生错误:
只能通过 java.lang.Iterable 的数组或实例进行迭代

追答

那把 for(Float f:listItem) 改成 for(int i=0,length=listItem.length;i<length;i++)
System.out.print(listItem[i]);
System.out.print(" ");

本回答被提问者采纳

交替打印出奇数和偶数

两个线程如何交替打印出奇数和偶数

 

分析

两个线程交替打印奇数和偶数,最关键的是如何协作的问题。

  • 打印的数可以用java里面的atomicInteger 来保证原子性;
  • 打印何时结束需要设置一个上限,比如打印到100结束;
 1 public class PrintABAtomic{
 2     private static final int MAX_PRINT_NUM = 100;
 3     private static final AtomicInteger atomicInteger = new AtomicInteger(0);
 4 
 5     public void printAB(){
 6         new Thread(() -> {
 7             while (atomicInteger.get() < MAX_PRINT_NUM){
 8                 //打印奇数
 9                 if(atomicInteger.get() % 2 == 0){
10                     //log.info("num:" + atomicInteger.get());
11                     System.out.println("num:" + atomicInteger.get());
12                     atomicInteger.incrementAndGet();
13                 }
14             }
15         }).start();
16 
17         new Thread(() -> {
18             while (atomicInteger.get() < MAX_PRINT_NUM) {
19                 // 打印偶数.
20                 if (atomicInteger.get() % 2 == 1) {
21                     //log.info("num:" + atomicInteger.get());
22                     System.out.println("num:" + atomicInteger.get());
23 
24                     atomicInteger.incrementAndGet();
25                 }
26             }
27         }).start();
28     }

 

 还可以采用另一种办法。用volatile 的方式来实现。

 1 public class PrintABVolatile {
 2     private static final int MAX_VALUE_NUM = 100;
 3     private static volatile int count = 0;
 4 
 5 
 6     public void printAB(){
 7         new Thread(() -> {
 8             while(count < MAX_VALUE_NUM){
 9                 if(count % 2 == 0){
10                     System.out.println("偶数线程num" + count);
11                     count++;
12                 }
13             }
14         }).start();
15         new Thread(() -> {
16             while(count < MAX_VALUE_NUM){
17                 if(count % 2 == 1){
18                     System.out.println("奇数线程num" + count);
19                     count++;
20                 }
21             }
22         }).start();
23     }
24 }

 

 

直接用main方法调试

当然,这种方法仅用于调试,不能用于写单元测试。

1 public class TestRunner {
2     public static void main(String[] args) {
3         /*PrintABAtomic printABAtomic = new PrintABAtomic();
4         printABAtomic.printAB();*/
5         PrintABVolatile printABVolatile = new PrintABVolatile();
6         printABVolatile.printAB();
7     }
8 }

 

提供了两种方法,分别利用volatile的可见性和AtomicInteger 的原子性对两个线程进行协调。

 

以上是关于Java 如何打印出List中得值的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中打印出List的所有元素?

如何打印出这个 RestAction / List

给定一段Java 代码如下:要打印出list中存储的内容,以下语句正确的是()。(选择二项)

java中如何打印下面代码list里面的值?解决了加分!

java 中如何打印一个List集合的索引

关于console.log() 打印得引用类型得数据得相关问题