首页 > 编程知识 正文

java string转数组(list对象转string数组)

时间:2023-05-03 22:24:38 阅读:83955 作者:4235

我刚开始学习Java,不太清楚String[]和ListString的区别,所以总结一下这个问题。

典型的区别是存储在String[]数组中的String值和存储在ListString中的String对象。

数组的容量是固定的,一次只能获取或设置一个元素的值,但是可以根据需要自动扩展、修改、删除或插入ArrayList和ListT的容量。

数组可以有多个维,但ListT总是只有一个维。

String[]为序列、定长、不变,ListString为总称、非定长、可变。

虽然作用相同,但灵活性不同。 String[]的长度固定,增加容量、在中间插入字符串等操作不容易,但ListString很容易实现。 如果可以确定字符串数组的长度并且可以为每个项目输入值,则建议使用String[]。 如果不知道数组的长度,或者在计算值时需要在中间继续插入字符串,请使用ListString。 生成完成后,使用ToArray方法将其转换为String[]。 也可以使用List的添加范围方法将String[]添加到ListString中。

除了Object之外,特定类型的数组的性能优于List的性能。 这是因为List的元素是对象类型; 因此,在保存或检索值类型时,通常会发生装箱和撤消装箱操作。 但是,如果不需要重新分配,也就是说,如果第一个容量非常接近列表的最大容量,则List T的性能非常接近同一类型的数组。

数组

数组连续存储在内存中,因此索引速度非常快,易于赋值和修改。

//声明数组

string str=新string [2];

//声明数组并为其赋值

string str=‘a’,‘b’;

//分配值

str=' a ';

STR=' b ';

//修改

str=' c '; 但是,数组必须在声明时指定数组的长度。 太长的话会浪费内存,太短的话会溢出数据。 声明时如果数组的长度不明确,就会很麻烦。 另外在数组中插入数据很麻烦。

数组列表

//声明

阵列列表=新阵列列表(;

//添加

Arraylist.add('a );

Arraylist.add('b );

Arraylist.add(123;

//插入指定的索引位置数据

ArrayList.insert (0,123 );

//修改指定的索引位置数据

arrayList[2]=234;

//删除一致数据

Arraylist.remove('a );

//删除指定的索引数据

Arraylist.removeat(1; arrayList中不仅插入了字符串a,还插入了数字123。 这样,可以将不同类型的数据插入到ArrayList中。 ArrayList将所有插入的数据作为对象类型处理。 使用ArrayList处理数据时,可能会报告类型不匹配。 也就是说,ArrayList是不安全的。 保存或检索值类型时,通常会发生装箱和撤消装箱操作,从而大大降低性能。

装箱和开箱的概念

装箱:将值类型数据装箱到代码类型实例中。 例如,将字符串型值a分配给对象对象obj

开箱:是从参考数据中提取值类型。 例如,将对象对象obj的值分配给string型变量str。

//装箱

string str='a ';

对象对象=(对象) str;

//合上箱子

对象对象=' a ';

字符串=(字符串)对象; 列表

声明List集合时,还必须声明List集合中数据的对象类型。

//声明

liststring list=新列表(;

//添加

列出添加(a );

列出添加(b );

//修改

list[0]='c ';

//删除指定的匹配

移除(a );

//删除对应的索引值

list.removeat(0; String[]和ListString的兼容性

将String[]移至列表:

列表=数组列表(arr );

从列表到字符串:

string [ ] arr=list.to array (新字符串[ list.size (] );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。