精华内容
下载资源
问答
  • 如何在ArrayList Java中获取值
    千次阅读
    2021-02-27 17:42:30

    我正在尝试从ArrayList中获取值。这是我的代码示例:

    public static void main (String [] args){

    Car toyota= new Car("Toyota", "$10000", "300"+ "2003");

    Car nissan= new Car("Nissan", "$22000", "300"+ "2011");

    Car ford= new Car("Ford", "$15000", "350"+ "2010");

    ArrayList cars = new ArrayList();

    cars.add(toyota);

    cars.add(nissan);

    cars.add(ford);

    }

    public static void processCar(ArrayList cars){

    // in heare i need a way of getting the total cost of all three cars by calling

    // computeCars ()

    System.out.println(cars.get());

    }

    修订版感谢所有答案,我可能应该在代码中添加更多内容。在Car类中,我有另一种方法来计算包括税金在内的总费用。

    class Car {

    public Car (String name, int price, int, tax, int year){

    constructor.......

    }

    public void computeCars (){

    int totalprice= price+tax;

    System.out.println (name + "\t" +totalprice+"\t"+year );

    }

    }

    在主要班级

    public static void processCar(ArrayList cars){

    int totalAmount=0;

    for (int i=0; i

    cars.get(i).computeCars ();

    totalAmount=+ ?? // in need to add the computed values of totalprice from the Car class?

    }

    }

    再次感谢

    更多相关内容
  • java 获取ArrayList中的最大

    千次阅读 2021-02-28 14:01:49
    //java 获取ArrayList中的最大public double arrayListMax(ArrayList sampleList){try{double maxDevation =0.0;int totalCount =itemsList.size();if (totalCount >=1){double max = Double.parseDouble...

    //java 获取ArrayList中的最大值

    public double arrayListMax(ArrayList sampleList)

    {

    try

    {

    double maxDevation =0.0;

    int totalCount =itemsList.size();

    if (totalCount >=1)

    {

    double max = Double.parseDouble(sampleList.get(1).toString());

    for (int i =0; i < totalCount; i++)

    {

    ArrayList itema =itemsList.get(i);

    if (itema.get(1).equals("--")){

    }else {

    double temp = Double.parseDouble(itema.get(1));

    if (temp > max)

    {

    max = temp;

    }

    }

    } maxDevation = max;

    }

    return maxDevation;

    }

    catch (Exception ex)

    {

    throw ex;

    }

    }

    //计算百分比

    public Stringpct(String max,String amount){

    if(max !=null && amount !=null){

    BigDecimal nummax =new BigDecimal(max);

    BigDecimal numamount =new BigDecimal(amount);

    BigDecimal num2 =new BigDecimal(nummax.toString());

    BigDecimal num =new BigDecimal("100");

    if (numamount.intValue() < nummax.intValue()){

    BigDecimal result5 = numamount.divide(num2,2,BigDecimal.ROUND_HALF_UP);

    BigDecimal result3 = result5.multiply(num);

    return result3.toString();

    }else {

    return "100";

    }

    }

    return "0";

    }

    展开全文
  • ArrayList集合

    2021-03-08 04:28:05
    ,当遇到要存储数据的个数不确定的时候 数组就不满足了,集合就出现了集合存储数据的个数,可以随着数据量的变化而变化,不会造成越界或者大量的空间浪费存储数据的个数是可变的ArrayList:java.util包下底层维护了一个...

    集合出现的原因

    数组存储数据是固定存储 ,当遇到要存储数据的个数不确定的时候 数组就不满足了,集合就出现了

    集合存储数据的个数,可以随着数据量的变化而变化,不会造成越界或者大量的空间浪费

    存储数据的个数是可变的

    ArrayList:

    java.util包下

    底层维护了一个数组

    线程不同步(处理速度快)

    创建ArrayList对象的格式:

    ArrayList 集合名字 = new ArrayList();

    : 泛型, 代表了集合中要存储的数据类型, 想存什么类型 就把E改成什么类型 , 如要存储String类型的数据 就把E改成String

    注意: 集合只能存储引用类型的数据

    基本数据类型对应的引用数据类型表示形式

    byteByte

    shortShort

    intInteger

    longLong

    floatFloat

    doubleDouble

    charCharacter

    booleanBoolean

    ArrayList常见功能

    添加

    public boolean add(E e)

    public void add(int index,E element) // 在指定的索引位置添加元素

    获取元素

    public E get(int index)// 根据索引值获取元素

    获取元素个数

    public int size() //获取元素个数

    删除元素

    public boolean remove(Object o) // 直接删除元素

    public E remove(int index) //根据索引删除元素 ,并把删除的元素返回

    修改元素

    public E set(int index,E element)// 使用element 去替换指定索引的元素 , 并返回被替换的元素

    学生管理系统练习

    学生信息包括 : 学号 姓名 年龄 家乡

    打印欢迎语句

    打印对应的功能 , 并接收用户的输入

    1.查看学生信息

    如果系统没有学生信息 则给出对应的提示

    如果系统中有学生信息, 则按照指定的格式打印学生信息

    2.添加学生信息

    从键盘录入学生的信息 组成对象 添加到集合中

    根据学号去重,只有没重复的学号才能添加到集合中

    3.修改学生信息

    根据学号找到学生进行修改

    如果没有学号则给出对应的提示

    如果找到学号则继续收集新信息, 使用新信息修改原来的元素

    4.删除学生信息

    根据学号删除学生

    如果没有指定学号则给出指定的提示

    如果有学号则删除指定的元素

    5.退出学生信息管理系统

    提示退出

    并结束程序

    代码演示

    1 public static void main(String[] args) {

    2 // 初始化数据

    3 // 创建一个集合容器 可以存储学生的信息

    4 ArrayList list = new ArrayList();

    5 // =========================测试数据================================

    6 // Student s1 = new Student("9001", "阿拉甲", "18", "迪拜");

    7 // Student s2 = new Student("9002", "阿拉yi", "18", "迪拜");

    8 // Student s3 = new Student("9003", "阿拉饼", "18", "迪拜");

    9 // list.add(s1);

    10 // list.add(s2);

    11 // list.add(s3);

    12 // System.out.println("初始化完毕");

    13 // =========================测试数据================================

    14

    15 System.out.println("-------------------欢迎使用学生管理系统------------------------");

    16

    17 // 死循环

    18 while (true) {

    19 // 展示功能菜单

    20 System.out.println("=================================");

    21 System.out.println("1.查看学生信息");

    22 System.out.println("2.添加学生信息");

    23 System.out.println("3.修改学生信息");

    24 System.out.println("4.删除学生信息");

    25 System.out.println("5.退出学生信息管理系统");

    26 System.out.println("请输入对应功能的序号");

    27 System.out.println("=================================");

    28 // 接收用户的输入

    29 Scanner sc = new Scanner(System.in);

    30 int user = sc.nextInt();

    31 // 根据用户的输入进行功调用

    32 switch (user) {

    33 case 1:

    34 show(list);

    35 break;

    36 case 2:

    37 add(list);

    38 break;

    39 case 3:

    40 upd(list);

    41 break;

    42 case 4:

    43 del(list);

    44 break;

    45 case 5:

    46 System.out.println("感谢使用管理系统 欢迎下次再来哦 ");

    47 // 终止虚拟机

    48 System.exit(0);

    49 // return;

    50 break;

    51

    52 default:

    53 System.out.println("对不起 没有这个功能 ,请控制你自己 ");

    54 break;

    55 }

    56 }

    57 }

    58

    59 // 功能方法s

    60 public static void del(ArrayList list) {

    61 // 1.提示输入学号

    62 Scanner sc = new Scanner(System.in);

    63 System.out.println("请输入学号");

    64 String id = sc.next();

    65

    66 // 2.查找

    67 // 定义标记

    68 int index = -1;

    69 // 遍历比较 并修改

    70 for (int i = 0; i < list.size(); i++) {

    71 Student tmp = list.get(i);

    72 if (tmp.getId().equals(id)) {

    73 // 找到了

    74 // 改变标记

    75 index = i;

    76 break;

    77 }

    78 }

    79 // 3.判断结果

    80 // 判断标记

    81 if (index == -1) {

    82 // 没有找到

    83 System.out.println("您输入的学号 咱们系统没有, 请重新选择功能");

    84 } else {

    85 // 找到了 执行删除

    86 list.remove(index);

    87 System.out.println("删除完毕");

    88 }

    89 }

    90

    91 public static void upd(ArrayList list) {

    92 // 1.提示输入学号

    93 Scanner sc = new Scanner(System.in);

    94 System.out.println("请输入学号");

    95 String id = sc.next();

    96

    97 // 2.查找

    98 // 定义标记

    99 int index = -1;

    100 // 遍历并比较

    101 for (int i = 0; i < list.size(); i++) {

    102 Student tmp = list.get(i);

    103 if (tmp.getId().equals(id)) {

    104 // 找到了

    105 // 修改标记

    106 index = i;

    107 break;

    108 }

    109 }

    110 // 3.根据查找的结果做不同的动

    111 // 判断标记

    112 if (index == -1) {

    113 // 没找到,

    114 System.out.println("您输入的学号 咱们系统中没有 ,请重新选择功能 ");

    115 } else {

    116 // 找到了

    117 // 3.收集其他信息

    118 System.out.println("请输入新姓名");

    119 String name = sc.next();

    120 System.out.println("请输入新年龄");

    121 String age = sc.next();

    122 System.out.println("请输入新家乡");

    123 String home = sc.next();

    124 // 4.组成对象添加到集合中

    125 Student s = new Student(id, name, age, home);

    126 // 修改

    127 list.set(index, s);

    128 System.out.println("修改完毕");

    129 }

    130

    131 }

    132

    133 public static void add(ArrayList list) {

    134 // 1.提示输入学号

    135 Scanner sc = new Scanner(System.in);

    136 System.out.println("请输入学号");

    137 String id = sc.next();

    138 // 2.根据学号去重

    139

    140 // 使用用户输入的学号去集合中查找, 如果找到与用户输入的学号一样的学号表示有重复,此时要继续提示输入学号,并继续去重

    141 // 直到用户输入的学号与集合中元素的学号不一致的时候再收集其他的信息

    142 while (true) {

    143 // 定义一个标记 给一个默认值

    144 int index = -1;

    145 // 遍历集合获取元素的学号与用户输入的学号进行比较

    146 for (int i = 0; i < list.size(); i++) {

    147 Student tmp = list.get(i);

    148 if (tmp.getId().equals(id)) {

    149 // 表示重复

    150 // 修改标记

    151 index = i;

    152 break;

    153 }

    154 }

    155

    156 // 判断标记

    157 if (index == -1) {

    158 // 没有重复

    159 break;

    160 } else {

    161 // 有重复

    162 System.out.println("您输入的学号 重复了 ,请重新输入学号 ");

    163 id = sc.next();

    164

    165 }

    166 }

    167

    168 // 3.收集其他信息

    169 System.out.println("请输入姓名");

    170 String name = sc.next();

    171 System.out.println("请输入年龄");

    172 String age = sc.next();

    173 System.out.println("请输入家乡");

    174 String home = sc.next();

    175 // 4.组成对象添加到集合中

    176 Student s = new Student(id, name, age, home);

    177 list.add(s);

    178 System.out.println("添加完毕");

    179 }

    180

    181 public static void show(ArrayList list) {

    182 // 1.判断集合是否有元素

    183 if (list.size() == 0) {

    184 // 如果没有给出特定的提示

    185 System.out.println("系统中没有学生的信息,请选择添加功能");

    186 } else {

    187 // 如果有就按照指定格式遍历

    188 System.out.println("================学生信息如下====================");

    189 System.out.println("学号\t\t姓名\t\t年龄\t\t家乡");

    190 // 遍历集合获取学生信息

    191 for (int i = 0; i < list.size(); i++) {

    192 Student tmp = list.get(i);

    193 System.out

    194 .println(tmp.getId() + "\t\t" + tmp.getName() + "\t\t" + tmp.getAge() + "\t\t" + tmp.getHome());

    195 }

    196 System.out.println("====================================");

    197 }

    198 System.out.println("展示完毕");

    199 }

    展开全文
  • 遍历ArrayList集合三种方法 何为遍历?逐个获取集合中的每个元素 1 使用下标 2 使用forEach循环 3 使用迭代器Iterator import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org...

    集合相关知识总结:

    集合【1】 — 综述与ArrayList

    集合【2】 — LinkedList

    集合【3】 — ArrayList和LinkedList区别与联系(面试题)

    集合【4】— Set

    集合【5】— Map集合

    集合【6】— HashSet存储机制

    集合【7】— 遍历ArrayList集合三种方法

    集合【8】— 去掉List集合重复的元素


    遍历ArrayList集合三种方法

    何为遍历?逐个获取集合中的每个元素

    1 使用下标遍历ArrayList集合

    2 使用forEach循环遍历ArrayList集合

    3 使用迭代器Iterator遍历ArrayList集合

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    import org.junit.Test;
    
    /**
     *遍历ArrayList集合元素
     */
    public class TestArrayListIterator {
    
    	private List<String> list = new ArrayList<>();
    	{
    		list.add("Tom");
    		list.add("Sam");
    		list.add("Jim");
    		list.add("Carry");
    		list.add("Merry");
    		list.add("Jerry");
    		list.add("Terry");
    		list.add("Tony");
    		list.add("Tomas");
    		list.add("Danis");
    	}
    	
    	/**
    	 * 使用下标遍历
    	 * 调用测试方法之前,所有的属性已经妥善初始化了
    	 */
    	@Test
    	public void testIterator1(){
    		for(int i=0;i<list.size();i++){
    			String name = list.get(i);
    			System.out.println("name="+name);
    		}
    	}
    	
    	/**
    	 * 使用forEach循环遍历,跟遍历数组的方式一致
    	 */
    	@Test
    	public void testIterator2(){
    		for (String name : list) {
    			System.out.print(name+"\t");
    		}
    	}
    	
    	/**
    	 * 使用迭代器进行遍历
    	 * 1 集合转换为迭代器
    	 * 2 判断迭代器有没有下一个元素
    	 * 3 如果有逐行读取元素next()
    	 */
    	@Test
    	public void testIterator3(){
    		//list.iterator() 获取集合的迭代器,将集合转换成Iterator迭代器
    		//it.hasNext() 判断集合有没有下一个元素 true有  false没有		
    		for(Iterator<String> it = list.iterator();it.hasNext();){
    			//获取集合的下一个元素
    			String name = it.next();
    			System.out.println(name);
    		}
    	}
    }
    

    Iterator 迭(叠)代器

    “叠”字,自己更容易理解,自己创的。重复操作,就相当于叠,一层一层的,然后上一层对下一层还有联系,即每一次迭代得到的结果会作为下一次迭代的初始值

    —迭代:Collection 集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有元素则把元素取出,然后继续再判断下一个元素,如果还有就再取出,直到把集合中的所有元素全部取出为止。这种取出方式专业术语称为迭代。(迭代字面意思: 重复执行一系列过程,而每一次迭代得到的结果会作为下一次迭代的初始值。)

    • Iterator 接口的常用方法如下:

    Collection 集合中把这种取元素的方式描述在 Iterator 接口中。

    boolean hasNext();判断集合中是否有下一个元素可以迭代,如果有,则返回 true。
    Object next();返回迭代的下一个元素,并把指针向后移动一位。
    void remove();将迭代器当前返回的元素删除(可选操作)。

    对于Iterator而言,因为本身是一个接口,所以要想实例化则必须依靠Collection接口完成,也就是使用Collection接口的Iterator iterator()方法。
    Iterator it = list.iterator(); // it 为实例化对象

    展开全文
  • JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集...
  • 获取或设置 ArrayList 可包含的元素数。 实例代码: ArrayList test = new ArrayList(){1,2,3,4,5}; int nums = test.Capacity; Console.WriteLine("集合 test 能够包含的元素数:{0}", nums); 2、ArrayList.Count....
  • 功能:用于获取ArrayList的大小,返回集合中的元素个数 arr.size();//获取arr数组的大小 3、清空集合内的所有元素 方法:clear(); package javase.day04.list.demo; import javase.day04.list.Product; import java...
  • 如何获取ArrayList的最后一个

    千次阅读 2020-04-25 16:25:04
    How can I get the last value of an ArrayList? 如何获取ArrayList的最后一个? I don't know the last index of
  • Java集合 -- ArrayList集合及应用

    千次阅读 2021-02-26 15:31:37
    JAVA集合对象数组集合类之ArrayList学生管理系统斗地主案例NO.one 对象数组1.1 对象数组描述A:基本类型的数组:存储的元素为基本类型int[] arr={1,2,3,4}B:对象数组:存储的元素为引用类型Student[] stus=new Student...
  • ArrayList集合及常用方法的使用

    千次阅读 2020-10-28 11:25:25
    ArrayLise<E> 集合 解读 1.1 ArrayList就是动态数组 数组长度可以发生变化 1.2 <E> 表示泛型 1.3 泛型:也就是装在集合当中的所有元素全部都是统一的类型 ...3.2 如果ArrayList集合是空 得到的
  • .NET C# Web开发学习之路(九)——ArrayList集合 ArrayList类位于System.Collections命名空间下,它可以动态的添加和删除元素。ArrayList类型相当于一种高级的动态数组,是Array的升级版,但它不等同于数组。 ...
  • C#ArrayList集合

    2019-04-16 13:43:59
    C# ArrayList集合类笔记ArrayList集合类1.创建ArrayList类对象2.添加元素3.删除元素4.查看元素5.ArrayList类中其他属性和方法 ArrayList集合类 ArrayList类位于System.Collections命名空间下,他可以动态的添加和...
  • 我的问题是在我的arraylist我有3或5或取决于用户输入目标...所以我如何指定我的数组列表中的对象将要更改颜色> ???这是我的代码package project1;import java.util.*;import javax.swing.*;/**...
  • ArrayList集合的常用方法

    千次阅读 多人点赞 2021-01-20 20:20:29
    //非泛型创建的ArrayList集合对象可以保存任何类型的 ArrayList list = new ArrayList(); list.add("str");//存入String类型数据 list.add(23);//存入int类型数据 list.add(2.5);//存入double类型数据 list.add('c...
  • Java基础【自定义类 ArrayList集合

    千次阅读 2018-10-21 20:38:19
    ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类、Random类。 我们可以把类的类型为两种:  第一种,Java为我们提供好...
  • 多个对象存储的ArrayList中,如果只知道对象其中的一个属性,...然后这些对象都储存在ArrayList集合里,如果只知道"李四"这个名字(在不知道性别和年龄的情况下),如何获取"李四"这个对象在ArrayList集合里的索引(即1)?
  • C# 集合(ArrayList)的方法和使用

    千次阅读 多人点赞 2021-07-16 22:23:40
    中文意思: 集合和数组的区别? 数组: 只能放同一个类型的数据 ,例如:int 那么只能给他提交int类型的数据,并且长度赋值了就无法...ArrayList a = new ArrayList(); a.Add(“小马哥的棺材板”); //字符串类型 a.Add
  • 获取查看ArrayList容量

    2021-10-25 20:30:19
    下面简单解释一下ArrayList集合的特点以及获取容量的方法。复制方法代码直接下拉到最后。。。 一、ArrayList的特点 1、ArrayList使用的是数组结构来存储数据。 所以自然可以使用索引来操作存储的数据,ArrayList...
  • Java中ArrayList集合的基本使用

    千次阅读 2020-07-14 10:55:39
    但是ArrayList集合的长度是可以随意变化的 1.创建 类型不能是基本数据类型 只能是引用数据类型 用基本数据类型的包装类就可以 //创建ArrayList集合 ArrayList<String> arrayList = new ArrayList<...
  • 2022Java学习笔记二十六(arrayList集合的使用,ArrayList泛型的使用) 集合与数组的区别 ...ArrayList集合的对象获取 ArrayList集合添加元素的方法 实例代码 package ArrayList; import java.util.Arra
  • ArrayList集合+泛型

    千次阅读 2019-04-19 11:44:50
    集合有两个分支:Collection 和 Map Collection:存储的都是(value) Collection分支:List 和 Set      Collection      /    \      /      \    Listi     Set List:有序可重复 ...
  • Java作业-ArrayList集合迭代读取元素

    千次阅读 2017-11-23 22:28:01
    目标效果: 结果是从1打印到99,这里只截取了下半部分。... * 使用ArrayList集合,对其添加100个不同的元素: 1.使用add()方法将元素添加到ArrayList集合对象中; 2.调用集合的iterator()方法获得Iterator
  • Java 获取集合元素的

    千次阅读 2020-04-10 12:56:53
    遍历从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型的集合,我们分别使用了普通for,增强型的 for ,iterator 等方式来遍历集合 完整代码 import java.util.ArrayList; import java.util.HashSet;...
  • ArrayList集合的应用

    千次阅读 2017-11-26 18:11:48
    对象数组集合类之ArrayList学生管理系统斗地主案例 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型  int[] arr={1,2,3,4} B:对象数组:存储的元素为引用类型  Student[] stus=new ...
  • ArrayList集合底层扩容原理

    千次阅读 多人点赞 2021-04-13 16:31:27
    ArrayList集合底层扩容原理 前言概述 对象创建 扩容操作 第一章 前言概述 第01节 概述 底层说明 ArrayList是List的实现类,它的底层是用Object数组存储,线程不安全 后期应用 适合用于频繁的查询工作,因为底层...
  • ArrayList遍历:取出ArrayList集合中的数据 ①:for循环 ②:增强for循环:foreach ③:Iterator:迭代器 ④:ListIterator:双向迭代器 ex: /** * ArrayList遍历:取出ArrayList集合中的数据 * ①:for...
  • ArrayList集合方法应用

    千次阅读 2020-12-04 12:24:52
    ArrayList集合方法应用 创建对象 ArrayList array = new ArrayList<>(); E代表储存的数据类型 //创建集合对象 ArrayList<String> array = new ArrayList<>(); 添加元素:array.add(); //添加...
  • ArrayList 集合中怎么插入元素的

    万次阅读 2018-11-13 17:38:08
    写一个测试方法,创建一个集合,看看到底是怎么执行插入操作的。 public static void test1(){ //创建一个集合 ... list = new ArrayList&lt;Integer&gt;(); list.add(1); list.add(7); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,444
精华内容 69,777
关键字:

获取arraylist集合里的值

友情链接: R-in-Action.rar