题目
给定两个字符串 s1
和 s2
,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
解法
知识点
Array、List、ArrayList的区别
内容引用自:https://blog.csdn.net/zhang_xinxiu/article/details/8657431
Array:数组
优点:其内存是连续的,索引、赋值和修改都很方便
缺点:在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必须指定数组的长度,数组的长度过长,会造成内存浪费,过段会造成数据溢出的错误。
ArrayList
优点:ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的。所以,在声明ArrayList对象时并不需要指定它的长度。
缺点:类型不安全;在存储或检索值类型时通常发生装箱和取消装箱操作,带来很大的性能耗损。
List
声明List的时候需要为其声明数据的对象类型。
优点:可以自动扩充、修改、删除、插入;类型安全
装箱&拆箱
装箱:将值类型的数据打包到引用类型的实例中;
拆箱:从引用类型的数据中提取值类型;
装箱和拆箱的过程是很损耗性能的。
ToList方法
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.tolist?view=net-6.0
ToArray方法
https://docs.microsoft.com/en-us/dotnet/api/system.collections.arraylist.toarray?view=net-6.0