java - 如果 HashSet 中已存在项目,则提醒用户

标签 java android alert

我的代码使用 HashSet 以避免重复保存到该集合的条目。我想对输入已存储的相同数据或字符串的用户实现警报。这是可以做的事情吗?我已经学习 Java 2 天了,如果您有任何建议,我将不胜感激。

这是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_layout); 

    aButton = (Button) this.findViewById(R.id.button1);
    text2 = (TextView) this.findViewById(R.id.textView1);

    aButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            list.add("Books");
            list.add("Newspapers");
            list.add("Magazines");
            String listString = "";

            for (String s : list) {
                listString += s + " - ";
            }
            text2.setText(listString);
            }
        });

    sButton = (Button) this.findViewById(R.id.button2);
    eText = (EditText) this.findViewById(R.id.editText1);

    sButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {

             Log.v("EditText", eText.getText().toString());
             list.add(eText.getText().toString());  
        }
    });
  }
}

最佳答案

如果该元素实际上并未添加(即它已经存在),则 HashSet 的 add () 方法将返回 false。假设 list 是你的 HashSet,你可以这样写:

if (!list.add(eText.getText().toString())) {
    // display alert
}

关于java - 如果 HashSet 中已存在项目,则提醒用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26173347/

相关文章:

android - 使 AsyncTask 静态(有问题,提供代码)

android - 首次安装后 appsflyer 未调用 onAppOpenAttribution

android - Android sqlite 数据库中是否可以嵌套集?

c - 在 Windows 上显示带有自定义按钮标题的警报?

java - JavaFX 节点上的中心 Java 警报 [例如 StackPane 或按钮]

java - 如何在 android 上的 paho 中发布保留 true 的 mqtt 消息

java - 如何计算java中对象列表的变量?

Java - 如何使JFrame的内容出现在同一个窗口而不是多个窗口中

service - 构建可配置的用户通知服务

java - Java 中的构造函数和新运算符