将Java中的链表转换成字符串
LinkedList是一种线性数据结构,其中元素不存储在连续的内存位置。
要将链表转换为字符串,我们需要遍历链表,然后将链表的元素附加到字符串变量上。
我们可以使用String类、StringBuilder或StringBuffer将LinkedList转换为字符串。
要附加字符串,我们可以使用String类的“+”运算符和StringBuffer和StringBuilder的append方法。
示例1:
//Java代码将LinkedList转换为String
import java.util.Iterator;
import java.util.LinkedList;
import java.util.ListIterator;
class GFG {
public static void main(String[] args)
{
//创建LinkedList
LinkedList<Integer> list = new LinkedList<>();
//向linkedList添加元素
list.add(100);
list.add(200);
list.add(300);
list.add(400);
//使用String Class
String s = "";
//使用迭代器遍历LinkedList
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
//使用“+”运算符附加
s = s + iterator.next() + " ";
}
//输出结果
System.out.println(s);
//使用String Buffer
StringBuffer stringBuffer = new StringBuffer();
//使用增强型for循环遍历LinkedList
for (Integer integer : list) {
//使用append方法附加字符串
stringBuffer.append(integer).append(" ");
}
//输出结果
System.out.println(stringBuffer);
//使用String Builder
StringBuilder stringBuilder = new StringBuilder();
//使用ListIterator遍历LinkedList
ListIterator<Integer> listIterator
= list.listIterator();
while (listIterator.hasNext()) {
//使用append方法附加字符串
stringBuilder.append(listIterator.next())
.append(" ");
}
//输出结果
System.out.println(stringBuilder);
}
}
输出
100 200 300 400
100 200 300 400
100 200 300 400
示例2: 在这个例子中,我们将使用一个用户定义的类。
// Java程序-将LinkedList转换为String
import java.util.Iterator;
import java.util.LinkedList;
import java.util.ListIterator;
class friendsDetail {
// 类字段
private String name;
private String nickName;
private int id;
//构造方法
public friendsDetail(String name, String nickName,
int id)
{
this.name = name;
this.nickName = nickName;
this.id = id;
}
// 名称的getter
public String getName() { return name; }
// 名称的setter
public void setName(String name) { this.name = name; }
// ID的getter
public int getID() { return id; }
// ID的setter
public void setID(int id) { this.id = id; }
// 昵称的getter
public String getNickName() { return nickName; }
// 昵称的setter
public void setNickName(String nickName)
{
this.nickName = nickName;
}
//@Override重写toString方法
public String toString()
{
return "name='"
+ name + '\'' + ", nickName='"
+ nickName + '\'' + ", ID=" + id;
}
}
class Main {
public static void main(String[] args)
{
LinkedList<friendsDetail> list = new LinkedList<>();
// 向链表添加元素
list.add(
new friendsDetail("Ridhi", "Goda", 202199));
list.add(
new friendsDetail("Ananya", "Natki", 202195));
list.add(new friendsDetail("Ankit", "Chota Don",
202192));
list.add(
new friendsDetail("Suraj", "Bhindi", 202147));
list.add(
new friendsDetail("Sarthak", "Nagin", 202178));
list.add(new friendsDetail("Sonika", "Chipkali",
202167));
list.add(new friendsDetail("Shishya", "Gorilla",
202157));
System.out.println("Using String Class\n");
// 使用String类
String s = "";
// 使用迭代器遍历链表
Iterator<friendsDetail> itr = list.iterator();
while (itr.hasNext()) {
// 使用“+”运算符追加字符串
s = s + itr.next() + "\n";
}
// 显示输出
System.out.println(s);
System.out.println("\nUsing String Buffer\n");
// 使用StringBuffer
StringBuffer stringBuffer = new StringBuffer();
// 使用增强for循环遍历链表
for (friendsDetail friendmarks : list) {
// 使用append方法进行追加
stringBuffer.append(friendmarks).append("\n");
}
// 显示输出
System.out.println(stringBuffer);
// 使用StringBuilder
System.out.println("\nUsing String Builder\n");
// 使用迭代器遍历链表
ListIterator<friendsDetail> itr2
= list.listIterator();
StringBuilder stringBuilder = new StringBuilder();
while (itr2.hasNext()) {
// 使用append方法进行追加
stringBuilder.append(itr2.next()).append("\n");
}
// 显示输出
System.out.println(stringBuilder);
}
}
输出:
使用String Class
name='Ridhi', nickName='Goda', ID=202199
name='Ananya', nickName='Natki', ID=202195
name='Ankit', nickName='Chota Don', ID=202192
name='Suraj', nickName='Bhindi', ID=202147
name='Sarthak', nickName='Nagin', ID=202178
name='Sonika', nickName='Chipkali', ID=202167
name='Shishya', nickName='Gorilla', ID=202157
使用String Buffer
name='Ridhi', nickName='Goda', ID=202199
name='Ananya', nickName='Natki', ID=202195
name='Ankit', nickName='Chota Don', ID=202192
name='Suraj', nickName='Bhindi', ID=202147
name='Sarthak', nickName='Nagin', ID=202178
name='Sonika', nickName='Chipkali', ID=202167
name='Shishya', nickName='Gorilla', ID=202157
使用String Builder
name='Ridhi', nickName='Goda', ID=202199
name='Ananya', nickName='Natki', ID=202195
name='Ankit', nickName='Chota Don', ID=202192
name='Suraj', nickName='Bhindi', ID=202147
name='Sarthak', nickName='Nagin', ID=202178
name='Sonika', nickName='Chipkali', ID=202167
name='Shishya', nickName='Gorilla', ID=202157
极客教程