首页 > 编程知识 正文

java技术经理面试题,java排序算法面试题

时间:2023-05-05 23:47:33 阅读:24744 作者:2684

1 .去除重量

list很重:

方法一:两个for循环:外层循环控制比较轮数,轮数为list长度减去1; 内层循环控制每一回合的比较次数,每一回合的比较次数是list长度减去当前回合数

for(intI=0; I

for(intj=list.size-1; ji; j---- ) {

if(list.get(j ).equals (list.get (I ) ) )

list.remove(j;

} }

方法2;

在jdk1.8之后,单击List.stream ().distinct );

方法3 :

使用set去除元素

set元素是无序的,不能重复元素

hashset set=new hashset (列表; 使用List的元素创建HashSet集合,此时已经进行了退出操作

List.clear (; //清空原始列表

list.add (设置; //将去除了重量的元素重新放入List中

去除数组的重量:

方法1

在List集合中实现

int [ ] str={ 5,6,6,8,8,7,4 };

列表列表=new ArrayList (;

for(intI=0; I

if (! list.contains(str[I] );

list.add(str[I];

}

}

system.out.println (列表;

方法2 :

使用HashSet:

设置集=new hashset (;

for(intI=0; I

set.add(a[I];

}

2 .进行交叉

list取交叉

lista.retainall(listb ) )。

数组交叉点

string [ ] result _ in Sect=intersect (arr 1,arr2);

3 .两个数组的并集

lista.removeall(listb; //先取两者差集,即listA去除共同部分

lista.addall(listb; 然后将ListA的剩馀部分追加到ListB中

string [ ] result _ union=union (arr 1,arr2);

集也可以使用hashset遍历两个数组

交叉点:将数组1放入链接列表中,然后遍历数组2。 如果linkList包含数组2的元素,请将该元素添加到新数组中。

总结:

1 .重用set

2 .插入链接列表比ArrayList快

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