2020-11-14 java------------巢狀遍歷集合,練習scanner和stringbuiled排序等API
巢狀集合遍歷
import java.util.ArrayList;
public class demo {
public static void main(String[] args) {
ArrayList<ArrayList<Student>> bigArraylist=new ArrayList<ArrayList<Student>>(); //建立大集合
ArrayList<Student> firstArraylist=new ArrayList<>();
Student s1=new Student("孫悟空",11);
Student s2=new Student("豬八戒",12);
Student s3=new Student("沙和尚",13);
firstArraylist.add(s1);
firstArraylist.add(s2);
firstArraylist.add(s3);
bigArraylist.add(firstArraylist);
ArrayList<Student> secondAarrylist=new ArrayList<>();
Student s11=new Student("諸葛亮",111);
Student s22=new Student("劉備",122);
Student s33=new Student("曹操",133);
secondAarrylist.add(s11);
secondAarrylist.add(s22);
secondAarrylist.add(s33);
bigArraylist.add(secondAarrylist);
ArrayList<Student> lastAarrylist=new ArrayList<>();
Student s111=new Student("楊冪",15);
Student s222=new Student("唐嫣",16);
Student s333=new Student("劉詩詩",17);
secondAarrylist.add(s111);
secondAarrylist.add(s222);
secondAarrylist.add(s333);
bigArraylist.add(lastAarrylist);
//遍歷集合
for(ArrayList<Student> bigClass: bigArraylist)
for (Student smallClass : bigClass)
System.out.println(smallClass.getName()+"--------"+smallClass.getAge());
}
}
產生10個20以內不重複的隨機數
import java.util.ArrayList;
import java.util.Random;
public class demo {
public static void main(String[] args) {
Random random=new Random();
ArrayList<Integer> array=new ArrayList<>();
int count=0;
while (count<10){
int number=random.nextInt(20)+1; //0~19
if (!array.contains(number)) {
array.add(number);
count++;
}
}
for (Integer i : array)
System.out.println(i);
}
}
鍵盤錄入多個資料,以0結束,要求在控制檯輸出這些值中的最大值
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList<Integer> arry=new ArrayList<>();
while (true){
System.out.println("請輸入資料:");
int number=sc.nextInt();
if (number!=0){
arry.add(number);
}
else
break;
}
//toArray方法要求引數是陣列
//public <T> T[] toArray(T[] a)
Integer[] i=new Integer[arry.size()];
arry.toArray(i);
Arrays.sort(i); //Arrays工具類下sort方法
System.out.println("陣列最大值是"+i[i.length-1]);
}
}
改動一下最後能實現輸出陣列並列印最大值
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList<Integer> arry=new ArrayList<>();
while (true){
System.out.println("請輸入資料:");
int number=sc.nextInt();
if (number!=0){
arry.add(number);
}
else
break;
}
Integer[] i=new Integer[arry.size()];
arry.toArray(i);
Arrays.sort(i);
System.out.println("陣列是:"+arryToString(i)+"最大值是:"+i[i.length-1]);
//System.out.println("陣列是:"+Arrays.toString(i)+"最大值是:"+i[i.length-1]);也能正確輸出
}
public static String arryToString(Integer[] i){
StringBuilder sb=new StringBuilder();
sb.append("[");
for (int x=0;x<i.length;x++){
if(x!=i.length-1)
sb.append(i[x]+",");
else
sb.append(i[x]);
}
sb.append("]");
return sb.toString();
}
}
寫了一個tostring方法把陣列轉換成字串
為啥用stringbuilder不用string,回顧了一下原來是string不能修改,想要定義一個能修改的字串就定義成stringbuffer或者stringbuilder型別,但是單執行緒用stringbuilder比較好,速度比較快,它沒有執行緒安全。
陣列型別沒有tostring方法嗎,為啥非要寫一個,而最後sb卻有tostring方法
原來直接i.tostring輸出的是地址值,但是可以用Arrays.toString也能正確輸出。練一下反正也行吧哈哈哈哈大可不必。
相關文章
- 集合框架-集合的巢狀遍歷(HashMap巢狀HashMap)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(HashMap巢狀ArrayList)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(ArrayList巢狀HashMap)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(多層巢狀)框架巢狀
- 集合框架-集合的巢狀遍歷框架巢狀
- Java map 詳解 - 用法、遍歷、排序、常用API等Java排序API
- dom4j遍歷巢狀xml巢狀XML
- JAVA基礎 練習-13-ArrayList集合學生物件遍歷Java物件
- [work] python巢狀字典的遞迴遍歷Python巢狀遞迴
- 集合的巢狀巢狀
- 泛型方法、初始集合和集合的遍歷泛型
- MATLAB巢狀函式練習Matlab巢狀函式
- 集合框架-Map集合的遍歷框架
- Collection集合的遍歷
- 【練習】二叉樹的遍歷二叉樹
- 高效遍歷匹配Json資料,避免巢狀迴圈[轉]JSON巢狀
- 集合index by 的遍歷方法Index
- 非迴圈單連結串列的建立、遍歷、排序等排序
- SDUTOJ 2128 樹結構練習——排序二叉樹的中序遍歷排序二叉樹
- jQuery遍歷陣列和集合程式碼例項jQuery陣列
- Kotlin---集合與遍歷Kotlin
- Java遍歷Map集合的方法Java
- 個人練習之二叉樹的前序遍歷二叉樹
- Java8集合遍歷Java
- 按指定格式遍歷集合字串字串
- Html遍歷物件、list集合、陣列HTML物件陣列
- jsp下實現遍歷集合JS
- js的map遍歷和array遍歷JS
- PLSQL Language Referenc-PL/SQL集合和記錄-巢狀表SQL巢狀
- Elasticsearch聚合的巢狀桶如何排序Elasticsearch巢狀排序
- MongoDB之資料查詢(巢狀集合)MongoDB巢狀
- 關於Map集合的遍歷總結
- js技巧用Map集合代替Array遍歷JS
- Java之HashMap集合簡介及遍歷JavaHashMap
- 集合框架(List儲存字串並遍歷)框架字串
- IOS各種集合遍歷效率對比iOS
- 二叉樹排序樹的建立,遍歷和刪除二叉樹排序
- Javascript樹(一):廣度遍歷和深度遍歷JavaScript