gpt4 book ai didi

java - 如何封装一个集合?

转载 作者:行者123 更新时间:2023-12-01 05:01:21 27 4
gpt4 key购买 nike

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class A
{
private Set<String> users = new HashSet<String>();

public Set<String> getUsers()
{
return users;
}

public void setUsers( Set<String> users )
{
this.users.clear();
if( users != null )
{
this.users.addAll( users );
}
}

public static void main( String[] args )
{
A a = new A();
Set<String> temp = new HashSet<String>();
temp.add( "a1" );
temp.add( "a2" );
a.setUsers( temp );
Set<String> previousUsers = a.getUsers();
System.out.println( previousUsers.size() ); //output 2

temp.add( "a3" );
a.setUsers( temp );
System.out.println( previousUsers.size() );//output 3, how to make it still 2?
}
}

问题:如果我希望 previuosUsers 在调用新的 setUsers 后仍然保留旧值,我应该如何修改这个程序?

最佳答案

您可以改用此构造函数 public HashSet(Collection<? extends E> c) ,而不是直接将返回值分配给 previousUsers .

关于java - 如何封装一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356368/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com