Java-集合 list物件進行指定位置插入、刪除、迭代、遍歷輸出(具體習題講解)
原題: 建立一個 List,在 List 中增加三個工人,基本資訊如下: 姓名 年齡 工資 zhang3 18 3000
li4 25 3500
wang5 22 3200
- 工人有一個行為work。
- 在 li4 之前插入一個工人,資訊為:姓名: zhao6,年齡: 24,工資3300
- 刪除 wang5 的資訊
- 利用 for 迴圈遍歷,列印 List 中所有工人的資訊
- 利用迭代遍歷,對 List 中所有的工人呼叫 work 方法。
- 判斷該列表中是否包含姓名為張三,年齡18,工資3000的工人資訊。
- 在li4後面插入一個工人資訊為:姓名: zhao6,年齡: 24,工資3300
思路:建立一個worker類實現工人要求和一個list類(類名為workdemo)來 進行list操作
程式碼:list類
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
public class WorkDemo {
public static void main(String[] args) {
ArrayList<Worker> list = new ArrayList<Worker>();
/*
* 插入元素
*/
Worker a1 = new Worker("zhang3",18,3000);
Worker a2 = new Worker("li4",19,3500);
Worker a3 = new Worker("wang5",18,3200);
list.add(a1);
list.add(a2);
list.add(a3);
for(Worker i : list)
{
System.out.println(i);
}
/*
* 執行插入操作,遍歷輸出
* 題目要求:在 li4 之前插入一個工人,資訊為:姓名: zhao6,年齡: 24,工資 3300
* 在li4後面插入一個工人資訊為:姓名: zhao6,年齡: 24,工資 3300
*/
System.out.println("執行插入操作:");
list.add(1,new Worker("zhao6",24,3300));
list.add(3,new Worker("zhao6",24,3300));
for(Worker i : list)
{
System.out.println(i);
}
System.out.println("執行刪除操作:");
/*
* 用增強for迴圈遍歷查詢刪除物件的元素,然後刪除物件
* 在迴圈過程中從List中刪除非基本資料型別以後,繼續迴圈List時會報ConcurrentModificationException
* 但刪除之後馬上break就不會出現異常(應該是元素的索引變化的問題)
* 題目要求: 刪除 wang5 的資訊
*/
for(Worker worker : list)
{
if(worker.getName().equals("wang5"))
list.remove(worker);
break;
}
for(Worker i : list)
{
System.out.println(i);
}
Iterator<Worker> iterator = list.iterator();
System.out.println("使用迭代器操作:");
while(iterator.hasNext()){
Worker ite = iterator.next();
System.out.println(ite.getName());
ite.work();
}
}
}
worker類
public class Worker {
private String name;
private int age;
private double salary;
public Worker() {
super();
}
public Worker(String name, int age, double salary) {
super();
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Worker [name=" + name + ", age=" + age + ", salary=" + salary + "]";
}
public void work()
{
System.out.println("工人要工作");
}
}
輸出結果:
相關推薦
Java-集合 list物件進行指定位置插入、刪除、迭代、遍歷輸出(具體習題講解)
原題: 建立一個 List,在 List 中增加三個工人,基本資訊如下: 姓名 年齡 工資 zhang3 18 3000 li4 25 3500 wang5 22 3200 工人有一個行為work。在 li4 之前
java格式化字串,在指定位置插入指定字串,相容中英文以及特殊字元,例如:換行,用於解決生成pdf換行問題等問題
原因: 由於html轉pdf時,不能自動換行,因此才有下面的程式碼. 註釋:完全模擬html頁面的自動換行! package test; import java.io.Unsupported
【Java】在一個字串指定位置插入字串
四、更新 更新時間:2017年12月8日01:51:24 下面的方法有一個問題,是我剛才沒有考慮到的問題,就是下面的方法只適用於一次操作,如果兩次操作會有問題,什麼問題呢,就是你第一次插入之後,Stringbuilder裡面的index就被擾亂了啊,就像一個
JS 字串操作函式 往指定位置插入字元 刪除指定位置字元 替換指定位置字元
刪除指定字元 var str="xxxxxxxxabcxxxxxxxxxxxx"; var pattern = "abc"; str = str.replace(new RegExp(pattern), ""); console.log(str); 執行結果就是xxxxxxxxxxxxxxxxx
java-Iterator(迭代器)遍歷集合
import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List;
List和Map集合的使用及使用迭代器遍歷資料
List集合 java.util.collection常見的子介面:Set,List List介面的兩個實現類:ArrayList,LinkedList 示例: package com.yu
各種遍歷輸出(經典版)----java基礎總結
blog long arr 基礎 each循環 mage pan 之前 es2017 前言:關於共有3中遍歷輸出方式,很早之前我就想整理,無奈一直沒有抽出時間,分別是傳統的for循環遍歷,叠代器Iterator,foreach,這次我通過測試代碼,測試了一下。 先用一張草圖
使用Iterator迭代器遍歷集合資料
迭代器(Iterator) 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為“輕量級”物件,因為建立它的代價小。 Java中的Iterator功能比較簡單,並且只能單向移動: (1) 使
集合Set迭代器遍歷和陣列遍歷
import java.util.Date; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class IteratorAndArra
二叉搜尋樹的插入,刪除,和中序遍歷
構建一個值的型別為int的二叉搜尋樹,輸入N和M,然後進行N次插入操作,每次插入之後進行一次遍歷驗證程式碼正確性。然後進行M次刪除操作,每次刪除之後進行一次遍歷驗證程式碼正確性。 #include "bits/stdc++.h" using namespace std; typedef long lo
Java學習筆記36:迭代器遍歷(for 、while)
while迴圈遍歷 Collection coll = new ArrayList(); coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); coll.add("abc4"); Iterator it = coll.iterator
迭代器遍歷集合
package cn.kgc.iterator; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * * @author vip宅男 * */ pu
集合迭代器遍歷
第一種:for迴圈遍歷 第二種:foreach遍歷 第三種:迭代器遍歷 Collection<Integer> coll=new ArrayList<>(); coll.add(1); coll.add(2); coll.add(3)
集合中,使用迭代器遍歷的方法
目錄 1.使用迭代器遍歷List集合 package com.jredu.oopch07; import java.util.ArrayList; import java.util.Iterator; import java.util.List
在使用迭代器遍歷集合時,為何不能使用集合的remove方法?
一、發現問題 在看到資料結構與演算法分析第三章時,看到這樣一段程式碼 public static void removeEvens(List<Integer> list) { for (Integer x : list) {
java在list集合指定位置插入物件和js在陣列指定位置插入物件的方法
java 向集合指定位置插入一條資料: List<String> list =new ArrayList<>(); list.add("a"); list.add("b");
Java集合按照物件的某個屬性進行比較排序
需求:list裡面的元素按照某一屬性排序(以下demo都是升序) 待排序list: List<User> ulist = new ArrayList<User>(); uli
java集合List,Map,Set,Queue使用
add 查找 lec testlink next 訪問 put 獲取值 last Collection.一個獨立元素的序列,這些元素都服從一條或多條規則。List必須按照插入的順序保存元素,而Set不能有重復元素。 Map.一組成對的鍵值對對象,允許使用鍵來查找值。 有
java集合(List,Set,Map)詳細總結
麻煩 array map接口 安全 content 想要 鍵值 more san 集合的由來: 數組是長度是固定的,當添加的元素超過數組的長度時需要對數組重新定義,太麻煩了,java內部給我們提供了集合類,能存儲任意對象,長度是可以改變的,隨著元素的增加而增加,隨著元素
Java集合--list接口
collect rom 方法 容量 div 一次 列表 prev set list是一個接口,實現類:Arraylist,Vector,Linkedlist list接口: 常用方法 排除Collection中具有的之外的 添加功能 void add(int index,