1. 程式人生 > >JAVA菜鳥入門(9) Java列印一維陣列,二維陣列

JAVA菜鳥入門(9) Java列印一維陣列,二維陣列

一 列印list中的元素

0 JAVA風格的最簡做法
import java.util.List;
...
List<Integer> l = new ArrayList(3);
System.out.println(l);

1 JAVA風格的做法
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
...
List<Integer> l = new ArrayList(3);
System.out.println(Arrays.toString(l.toArray()));

2  類似C++的用法 
List<Integer> l = new ArrayList(3);
for (int i = 0; i < l.size(); ++i) {
     System.out.println(l.get(i));
}

3  for each 的方法 
List<Integer> l = pt.getRow(4);
for (Integer i: l) {
     System.out.println(i);
}


二. 列印一維陣列
1 JAVA風格的做法
int [] aa = new int [] {1, 2, 3, 4, 5};
System.out.println(aa.toString()); //[
[email protected]
注意這個寫法是錯誤的,打印出來的是垃圾值。 System.out.println(Arrays.toString(aa)); //[1, 2, 3, 4, 5]

2 類似 C++的for迴圈
for (int i = 0; i < aa.length; ++i) {
     System.out.println(aa[i]);
}
3 for each方法
for (int i: aa) {
     System.out.println(i);
}


三. 使用itertator的方法(用到InnerClass)

InnerClass在這裡可以理解為是OuterClass的helper function
public class DataStructure {
    
    // Create an array
    private final static int SIZE = 15;
    private int[] arrayOfInts = new int[SIZE];
    
    public DataStructure() {
        // fill the array with ascending integer values
        for (int i = 0; i < SIZE; i++) {
            arrayOfInts[i] = i;
        }
    }
    
    public void printEven() {
        
        // Print out values of even indices of the array
        DataStructureIterator iterator = this.new EvenIterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
    }
    
    interface DataStructureIterator extends java.util.Iterator<Integer> { } 


    // Inner class implements the DataStructureIterator interface,
    // which extends the Iterator<Integer> interface
    
    private class EvenIterator implements DataStructureIterator {
        
        // Start stepping through the array from the beginning
        private int nextIndex = 0;
        
        public boolean hasNext() {
            
            // Check if the current element is the last in the array
            return (nextIndex <= SIZE - 1);
        }        
        
        public Integer next() {
            
            // Record a value of an even index of the array
            Integer retValue = Integer.valueOf(arrayOfInts[nextIndex]);
            
            // Get the next even element
            nextIndex += 2;
            return retValue;
        }
    }
    
    public static void main(String s[]) {
        
        // Fill the array with integer values and print out only
        // values of even indices
        DataStructure ds = new DataStructure();
        ds.printEven();
    }
}
The output is:
0 2 4 6 8 10 12 14 


四. 列印二維陣列
public class FFChap7 {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int [][] numArray = new int [5][5];
        for (int i = 0; i < 5;++i) {
            for (int j = 0; j < 5;++j) {
                numArray[i][j]++;
            }
        }
    System.out.println(Arrays.deepToString(numArray));
    }
}


五. 列印Arraylist
ArrayList alist = new ArrayList(5);
alist.add(10);
alist.add(11);
alist.add(12);
alist.add(13);
System.out.println(alist);

參考資料:

https://docs.oracle.cm/javase/tutorial/java/javaOO/innerclasses.html

相關推薦

JAVA入門(9) Java列印陣列陣列

一 列印list中的元素 0 JAVA風格的最簡做法import java.util.List; ... List<Integer> l = new ArrayList(3); System.out.println(l); 1 JAVA風格的做法import j

JAVA入門(15) static method/ field與normal method/field的相互呼叫關係

1.   normal method uses static field => fine public class StaticFieldDemo { public static int staticVar; public int instanceVar;

Java入門(21) Merge K sorted List

假設輸入是K個iterator<Integer>, 如何來merge這K個iterator of Integer,使得輸出是 List<Integer>? 1. 類似Merge K sorted List普通題的思路,使用PriorityQueue(

Java入門(20) Producer Consumer經典程式碼

來自oracle官網 https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html class BoundedBuffer { final Lock lock

JAVA入門(18) Set的Iterator

1. 使用iterator遍歷Set中元素 public class SetIteratorDemo { public static void main(String[] args) { HashSet<String> objectSet = new H

java ArrayList 套陣列不等長陣列

ArrayList 除了裝填普通型別外,還能為陣列型別。用法是:ArrayList<ArrayList<Double>> arr = new ArrayList<>(

C語言 函式返回陣列陣列

方法一: 萬能的結構體:構造陣列的結構體,將函式型別定義為此型別 但是考試的時候應該不太方便寫結構體,寫不下也會很麻煩,故介紹方法二 方法二: 指標傳遞: 1、返回一維陣列 例子:將陣列每一位加一: #include<stdio.h> #define N 10 int

C++中動態定義陣列陣列陣列

//動態定義一維陣列、二維陣列、三維陣列 #include<iostream> #include<ctime> using namespace std ; int main() { int hight , row , col ; register

簡潔明瞭C++中動態定義陣列陣列陣列

#include<iostream> #include <ctime> #include <cstdlib> using namespace std; int main() { int hight , row , col ; regis

指標和陣列指標和陣列

在函式傳參時候,陣列名作為引數,自動轉成指標,那麼二維陣列可不可以這樣做呢。void fun(int **a,int i,int j){int m = i*j;for (int i = 0; i < m; i++){cout << *(a[0] + i)<<endl;}}int

陣列陣列陣列名的含義

1:一維陣列: int a[5];   &a是陣列的地址,故&a + 1是加一個數組大小的長度。增加20個位元組。 *(&a) = a;對一維陣列的地址取值等於陣列首元素的地址。 2:二維陣列: int a[2][2];*(*(a + i)+ j)

python 寫入csv的幾種方法總結(陣列矩陣的寫入)

轉自:https://blog.csdn.net/waple_0820/article/details/70049953最常用的一種方法,利用pandas包import pandas as pd #任意的多組列表 a = [1,2,3] b = [4,5,6] #

徹底搞清C/C++中陣列陣列指標陣列指標和指標陣列以及指向指標的指標行地址和列地址之間的關係

#include <iostream> using namespace std; void test(char **ptr) { for(;(strcmp(*ptr,"NULL"))!=0;ptr=ptr+1)        cout << *(ptr) <&l

這是Java到大牛的學習路線之高級教程由工作了10年的資深Java架構師整理。

script gin 視頻 提速 entos 分布式存 內幕 服務 www 這是一套Java菜鳥到大牛的學習路線之高級教程,由工作了10年的資深Java架構師整理。 01-java高級架構師設計-基礎深入 J

j ava程式設計師從笨之(七)java資料庫操作

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java程式設計師從笨之(八十)細談Spring(十)深入原始碼分析Spring之HibernateTemplate

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

java的面試之路

華為社招(三面+機試+性格測試) 1.介紹專案 2.說一說git分支的概念 3.arraylist和linklist的區別 4.資料庫鎖和隔離級別,你專案中怎麼加的鎖,分散式鎖瞭解過嗎 5.jvm瞭解過嗎,說一說有什麼 6.執行緒的幾種狀態,多執行緒的排程 拖了很久,沒有

Java多執行緒入門&執行緒安全

什麼是程序 電腦中時會有很多單獨執行的程式,每個程式有一個獨立的程序,而程序之間是相互獨立存在的。比如下圖中的QQ、酷狗播放器、電腦管家等等。 什麼是執行緒 程序想要執行任務就需要依賴執行緒。換句話說,就是程序中的最小執行單位就是執行緒,並且一個程序中至少有一個

Java程式設計師從笨之(三十)大話設計模式()設計模式遵循的七大原則

          最近幾年來,人們踴躍的提倡和使用設計模式,其根本原因就是為了實現程式碼的複用性,增加程式碼的可維護性。設計模式的實現遵循了一些原則,從而達到程式碼的複用性及增加可維護性的目的,設計模式對理解面向物件的三大特徵有很好的啟發,不看設計模式,很難深層地體會到面向物件開發帶來的好處 。在剛開始學習

Java程式設計師從笨之(一百零)sql注入攻擊詳解()sql注入過程詳解

l 猜解資料庫中使用者名錶的名稱猜解法:此方法就是根據個人的經驗猜表名,一般來說,user,users,member,members,userlist,memberlist,userinfo,manager,admin,adminuser,systemuser,systemusers,sysuser,sysu