1. 程式人生 > >Java-集合 list物件進行指定位置插入、刪除、迭代、遍歷輸出(具體習題講解)

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) {

javalist集合指定位置插入物件和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,