StringJoiner
StringJoiner与StringBuilder一样,也可以看成是一个容器,创建之后的内容是可变的
作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用
构造方法:
方法名 | 说明 |
public StringJoiner(间隔符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号 |
public StringJoiner(间隔符号,开始符号,结束符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号,结束符号 |
成员方法:
方法名 | 说明 |
public StringJoiner add(添加的内容) | 添加数据,并返回对象本身 |
public int length() | 返回长度 |
public String toString | 返回一个字符串(该字符串拼接之后的结果) |
构造方法1代码示例:
package StringJoiner;
import java.util.StringJoiner;
public class Demo1 {
public static void main(String[] args) {
//1.创建一个对象
StringJoiner sj=new StringJoiner("---");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
System.out.println(sj);
}
}
构造方法二代码示例:
package StringJoiner;
import java.util.StringJoiner;
public class Demo2 {
public static void main(String[] args) {
//1.创建对象
StringJoiner sj=new StringJoiner(",","[","]");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
System.out.println(sj);
}
}
集合:
集合与数组的区别
长度 | 存储方式 | |
数组 | 长度确定 | 可以存储基本数据类型,也可以存储引用数据类型 |
集合 | 可自动扩容 | 不能直接存储基本数据类型(要通过包装类来实现),可以直接存储引用数据类型 |
ArrayList:
泛型:限定集合中存储数据的类型
方法名 | 说明 |
boolean add(E,e) | 添加元素,返回值表示是否添加成功 |
boolean remove(E,e) | 删除指定元素,返回值表示是否删除成功 |
E remove(int index) | 删除指定索引的元素,返回被删除元素 |
E set(int index,E e) | 修改指定索引下的元素,返回原来的元素 |
E get(int index) | 获取指定索引的元素 |
int size() | 集合的长度,也就是集合中元素的个数 |
代码示例:
package ArrayList;
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
//1.创建集合
ArrayList<String >list =new ArrayList<>();
//2.添加元素
list.add("aaa");
list.add("bbb");
list.add("ccc");
//3.删除
/*boolean result=list.remove("aaa");
System.out.println(result);
System.out.println(list);*/
//根据索引删除
String str =list.remove(0);
System.out.println(str);
System.out.println(list);
//4.修改
String result=list.set(1,"ddd");
System.out.println(result);
System.out.println(list);
//5.查询
String s=list.get(0);
System.out.println(s);
System.out.println(list);
//6.遍历
for (int i = 0; i < list.size(); i++) {
String str1=list.get(i);
System.out.println(str1);
}
}
}
基本数据类型对应的包装类:
byte | Byte |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
代码示例:
package ArrayList;
import java.util.ArrayList;
public class Demo2 {
public static void main(String[] args) {
//1.创建集合
ArrayList<Integer> list=new ArrayList<>();
//2.添加元素
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
//遍历集合
System.out.print("[");
for (int i = 1; i < list.size(); i++) {
if(i==list.size() -1)
{
System.out.print(i);
}
else {
System.out.print(i+",");
}
}
System.out.println("]");
}
}
package ArrayList;
public class Student {
//1.私有化成员变量
//2.空参构造方法
//3.带全部参数的构造方法
//4.get set方法
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;
}
}
package ArrayList;
import java.util.ArrayList;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
//2.键盘录入学生信息并添加到集合当中
Scanner sc= new Scanner(System .in);
for (int i = 0; i < 3; 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; i < list.size(); i++) {
Student stu=list.get(i);
System.out.println(stu.getName() +","+stu.getAge() );
}
}
}
package ArrayList;
public class User {
private String id;
private String username;
private String password;
public User() {
}
public User(String id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
/**
* 获取
* @return id
*/
public String getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取
* @return username
*/
public String getUsername() {
return username;
}
/**
* 设置
* @param username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 获取
* @return password
*/
public String getPassword() {
return password;
}
/**
* 设置
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return "User{id = " + id + ", username = " + username + ", password = " + password + "}";
}
}
package ArrayList;
import java.util.ArrayList;
public class Demo5 {
public static void main(String[] args) {
//1.创建集合
ArrayList<User> list=new ArrayList<>();
//2.创建三个用户对象
User u1=new User("heima001","zhangsan","123456");
User u2=new User("heima002","lisi","12345678");
User u3=new User("heima003","wangwu","1234qwer");
//3.添加用户
list.add(u1);
list.add(u2);
list.add(u3);
//4.查看是否存在
boolean flag=search(list,"heima001");
System.out.println(flag);
}
public static boolean search(ArrayList<User> list,String id){
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getId().equals(id)){
//如果找到了直接返回true
return true;
}
}
//当循环结束表示集合里面所有的元素都已经比较完毕,还没有一样的即返回false
return false;
}
}
注: 如果要返回多个数据,可以把这些数据先放到一个容器中,再把容器返回
package ArrayList;
public class Phone {
private String brand;
private int price;
public Phone() {
}
public Phone(String brand, int price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
package ArrayList;
import java.util.AbstractList;
import java.util.ArrayList;
public class Demo6 {
public static void main(String[] args) {
ArrayList<Phone> list=new ArrayList<>();
//创建手机对象
Phone p1=new Phone("小米",1000);
Phone p2=new Phone("苹果",8000);
Phone p3=new Phone("锤子",2999);
//添加数据
list.add(p1);
list.add(p2);
list.add(p3);
//调用
ArrayList<Phone> result1=getphoneInfo(list);
//遍历集合
for (int i = 0; i < result1.size(); i++) {
Phone phone=result1.get(i);
System.out.println(phone.getBrand() +","+phone.getPrice() );
}
}
public static ArrayList<Phone> getphoneInfo(ArrayList<Phone> list)
{
//定义一个集合,用于存储价格低于3000的手机对象
ArrayList<Phone> result=new ArrayList<>();
//遍历集合
for (int i = 0; i < list.size(); i++) {
Phone p=list.get(i);
int price =p.getPrice();
if(price<3000){
result.add(p);
}
}
return result ;
}
}