青岛市建设局网站,注册公司100万意味着什么,网页制作软件破解版下载,用wordpress videopro为什么要有集合#xff1a;集合会自动扩容
集合不能存基本数据类型#xff08;基本数据类型是存放真实的值#xff0c;而引用数据类型是存放一个地址#xff0c;这个地址存放在栈区#xff0c;地址所指向的内容存放在堆区#xff09;
数组和集合的对比#xff1a;
集…为什么要有集合集合会自动扩容
集合不能存基本数据类型基本数据类型是存放真实的值而引用数据类型是存放一个地址这个地址存放在栈区地址所指向的内容存放在堆区
数组和集合的对比
集合的长度自动伸缩可长可短但是只能存放引用数据类型
数组是固定的既可以存放基本数据类型又可以存放引用数据类型 ArrayList集合
泛型限定集合中的贮存数据的类型
创建ArrayLiest的方式ArrayListString List new ArrayList();
前面的尖括号就是声明泛型的方式前面的已经写了String所以后面就不需要再写String。
注意这个尖括号里面是不能存放int这种基本数据类型的只能是存放类。 构造方法
当为空的时候会自动创建一个空间大小为10的集合 成员方法 对于集合的操作就是增删改查。
分别提供了几种函数先对于增来说函数名字就是叫做add 这个方法的用法有点类似于前面对字符串append的用法一致
import java.util.ArrayList;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListString list new ArrayList();//由于这个list.add的方法返回值类型是boolean类型所以我们可以不用一个变量来承接这个函数的返回值直接用即可//1.这个add方法就是增方法list.add(abc);list.add(vvv);System.out.println(list);}}接下来就是删除元素
remove()
可以看到这个删除元素右两种方法第一种就是通过元素进行删除元素第二种就是通过下标进行删除元素
删除元素的第一种方式如果删除成功那么就会返回true 如果删除失败当要删除的对象再集合里面不存在的时候就会返回false
按照下标进行删除元素如果我们使用一个String类型的字符串来接收这个要删除的字符串这个定义的字符串就会被赋这个删除了的元素。 然后在集合中这个字符串已经被删除了。
import java.util.ArrayList;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListString list new ArrayList();//由于这个list.add的方法返回值类型是boolean类型所以我们可以不用一个变量来承接这个函数的返回值直接用即可//1.这个add方法就是增方法list.add(abc);list.add(vvv);list.add(关岁安);list.add(guansuian1);System.out.println(list);//2.remove就是删除元素的方法list.remove(abc);System.out.println(list);String str list.remove(2);System.out.println(str);System.out.println(list);}}修改方法set
使用的时候是将需要替换的元素下标卸载第一位第二位就写想要替换在集合里面的字符串
这个方法返回的是已经被替换的字符串我们可以使用一个字符串进行接收。
import java.util.ArrayList;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListString list new ArrayList();//由于这个list.add的方法返回值类型是boolean类型所以我们可以不用一个变量来承接这个函数的返回值直接用即可//1.这个add方法就是增方法list.add(zhengmeiling);list.add(vvv);list.add(关岁安);list.add(guansuian);
// System.out.println(list);
// //2.remove就是删除元素的方法
//
// list.remove(abc);
// System.out.println(list);
//
// String str list.remove(2);
// System.out.println(str);
// System.out.println(list);//修改元素//会将被覆盖元素进行一个返回使用时是下标加上想要替换的字符串System.out.println(list);String result list.set(1,郑美玲);System.out.println(result);System.out.println(list);}}运行结果如下 第三个查询;
Get 这个常常和size()搭配使用
常常用于遍历集合
import java.util.ArrayList;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListString list new ArrayList();//由于这个list.add的方法返回值类型是boolean类型所以我们可以不用一个变量来承接这个函数的返回值直接用即可//1.这个add方法就是增方法list.add(zhengmeiling);list.add(vvv);list.add(关岁安);list.add(guansuian);
// System.out.println(list);
// //2.remove就是删除元素的方法
//
// list.remove(abc);
// System.out.println(list);
//
// String str list.remove(2);
// System.out.println(str);
// System.out.println(list);//修改元素//会将被覆盖元素进行一个返回使用时是下标加上想要替换的字符串System.out.println(list);String result list.set(1,郑美玲);System.out.println(result);System.out.println(list);System.out.println();for (int i 0; i list.size(); i) {String str list.get(i);System.out.println(str);}}}运行结果 我们使用StringJoiner和这个集合操作进行拼接
import java.util.ArrayList;
import java.util.StringJoiner;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(活);list.add(在);list.add(当);list.add(下);StringJoiner sj new StringJoiner(, ,[,]);for (int i 0; i list.size(); i) {sj.add(list.get(i));}System.out.println(sj);}
}我们首先创建一个集合然后使用集合添加这个这个主要是为了获取集合中的元素然后通过标准输出
为了能在集合中存贮基本数据类型我们需要基本数据类型转化为包装类。 练习将一个含有数字的集合输出 需要用到我们的Integer类型来进行输出
import java.util.ArrayList;
import java.util.StringJoiner;public class ArrayListd_emo1 {public static void main(String[] args) {//创建集合ArrayListInteger list new ArrayList();//添加元素list.add(1);list.add(2);list.add(3);list.add(4);System.out.print([);for (int i 0; i list.size(); i) {if(i list.size() - 1){System.out.print(list.get(i));}else{System.out.print(list.get(i) , );}}System.out.println(]);}
}我们想通过循环来输入对象这其实是不对的因为集合的长度是可以变的,所以我们不能使用list.size()来遍历这个数组。 学生身份记录程序
我犯下的错误需要将这个创建学生对象放在循环里面不然的话就看下面这一张图片 如果放在循环里面的话 这个是Student的类
public class Student {private String name;private int age;public Student() {}public Student(String name, int age) {this.name name;this.age age;}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 String toString() {return Student{name name , age age };}
}这个含主函数的主类
import com.sun.xml.internal.ws.addressing.WsaTubeHelper;import java.util.ArrayList;
import java.util.Scanner;
import java.util.StringJoiner;public class ArrayListd_emo1 {public static void main(String[] args) {ArrayListStudent listnew ArrayList();Scanner sc new Scanner(System.in);for(int i 0;i3;i){Student s new Student();System.out.println(请输入名字);String name sc.next();System.out.println(请输入年龄);int age sc.nextInt();s.setName(name);s.setAge(age);list.add(s);}for(int i 0;i3;i){Student stu list.get(i);System.out.println(stu.getName() stu.getAge());}}
}小技巧当我们在创建对象的时候我们使用构造器的时候不记得应该填入变量的顺序的·时候我们可以点击小括号然后点击ctrl p就可以看应该填入变量的顺序了