集合和数组的对比(为什么要有集合)
分为俩点
1. 长度:数组的长度是固定的,集合的长度是可变的。
2. 存储类型:
数组:可以存储基本数据类型,引用数据类型。
集合:只能存储引用数据类型。
小tips:
基本数据类型在集合中存储要使用包装类。
基本数据类型对应的包装类如下:
byte => Byte short => Short
int => Integer long => Long
float => Float double => Double
boolean => Boolean
char => Character
泛型
new ArrayList<泛型>();
泛型就是限定集合中存储数据的类型
ArrayList成员方法
集合的常用的成员方法主要就是增删改查
E为泛型的类型
boolean add(E e); 添加元素,返回true或false
boolean remove(E e); 删除元素
E remove(int index); 删除指定索引的元素,返回删除的元素
E set(int index,E e); 修改指定索引的元素,返回修改前的元素
E get(int index); 获取指定索引的元素
int size(); 返回集合的长度,也就是集合中元素的个数
附上例题
1.现有如下字符串元素:["aaa", "bbb", "aaa", "aaa", "ccc", "bbb"],请将所有的元素按顺序存入ArrayList集合中,并遍历集合查看存储结果。
//现有如下字符串元素:["aaa", "bbb", "aaa", "aaa", "ccc", "bbb"],请将所有的元素按顺序存入ArrayList集合中,并遍历集合查看存储结果。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aaa");
list.add("ccc");
list.add("bbb");
StringJoiner sj = new StringJoiner(", ", "[", "]");
for (int i = 0; i < list.size(); i++) {
sj.add(list.get(i));
}
System.out.println(sj);
}
2. 请定义教师(Teacher)类,属性包含姓名和专业名称。将若干教师对象存入ArrayList集合中,并遍历集合打印教师信息
domain:
public class Teacher {
private String name;
private String course;
public Teacher() {
}
public Teacher(String name, String course) {
this.name = name;
this.course = course;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return course
*/
public String getCourse() {
return course;
}
/**
* 设置
* @param course
*/
public void setCourse(String course) {
this.course = course;
}
public String toString() {
return "Teacher{name = " + name + ", course = " + course + "}";
}
}
main:
//请定义教师(Teacher)类,属性包含姓名和专业名称。将若干教师对象存入ArrayList集合中,并遍历集合打印教师信息,格式如下
//姓名:赵老师, 专业:javase
//姓名:钱老师, 专业:javaee
//姓名:孙老师, 专业:php
//姓名:李老师, 专业:python
public static void main(String[] args) {
ArrayList<Teacher> list = new ArrayList<>();
list.add(new Teacher("xiaowang", "java"));
list.add(new Teacher("xiaoming", "python"));
list.add(new Teacher("xiaosu", "c++"));
for (int i = 0; i < list.size(); i++) {
System.out.println("姓名:" + list.get(i).getName() + "/t" + "课程:" + list.get(i).getCourse());
}
}
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293350.html