Java语言编写属性和属性值的匹配

Java语言编写属性和属性值的匹配,应该用什么数据元素?用了好几种数据元素没有一种可以实现,很着急?请大家支招

效果如图 :

img

代码:

import java.util.HashMap;
import java.util.Map;

public class AttributeMatcher {
    private Map<String, String> attributes;

    public AttributeMatcher() {
        attributes = new HashMap<>();
    }

    // 添加属性和属性值
    public void addAttribute(String attribute, String value) {
        attributes.put(attribute, value);
    }

    // 根据属性查找属性值
    public String findValue(String attribute) {
        return attributes.get(attribute);
    }

    public static void main(String[] args) {
        AttributeMatcher matcher = new AttributeMatcher();
        matcher.addAttribute("color", "red");
        matcher.addAttribute("size", "medium");

        String colorValue = matcher.findValue("color");
        System.out.println("颜色: " + colorValue);

        String sizeValue = matcher.findValue("size");
        System.out.println("大小: " + sizeValue);
    }
}

说明 :
要实现属性和属性值的匹配,可以使用Map数据结构, 关于map的用法 之前有过讲解 ,

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/233356
  • 这篇博客也不错, 你可以看下Java基本数据类型以及由不可变类带来的值传递和引用传递的难点分析
  • 你还可以看下java参考手册中的 java-学习Java语言 - 描述Java编程语言的基本概念和特点的课程。-类和对象》描述了如何编写创建对象的类,以及如何创建和使用对象。-更多关于课程的信息
  • 除此之外, 这篇博客: java垃圾回收中的 垃圾回收的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址,大小以及使用情况。通常,GC采用有向图的方式记录和管理堆中所有的对象,通过这种方式确定哪些对象时可达的,哪些对象时不可达的,当GC确定一些对象不可达时,GC就有责任回收这些内存空间。
    程序员可以手动执行System.gc() ,通知GC运行,但java语言规范并不保证GC一定会执行

  • 您还可以看一下 徐无忌老师的Java进阶高手课-深入浅出Java网络编程课程中的 案例实战:浏览器打开一个网址,整个过程是怎么样的?小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    根据问题内容和参考资料,可以通过以下方式在Java中实现属性和属性值的匹配:

    1. 使用自定义类和对象来表示属性和属性值。首先需要创建一个自定义类来表示一个属性,该类需要包含两个成员变量:属性名和属性值。例如:
    public class Property {
        private String name;
        private String value;
    
        public Property(String name, String value) {
            this.name = name;
            this.value = value;
        }
    
        public String getName() {
            return name;
        }
    
        public String getValue() {
            return value;
        }
    }
    
    1. 使用集合类来存储属性和属性值。可以使用ArrayList或HashMap等集合类来存储属性和属性值的对应关系。例如,使用ArrayList来存储属性列表:
    List<Property> properties = new ArrayList<>();
    properties.add(new Property("color", "red"));
    properties.add(new Property("size", "medium"));
    
    1. 查找匹配的属性和属性值。可以使用循环遍历集合中的属性,根据给定的属性名来查找对应的属性值,并进行匹配。例如,通过名称查找属性值:
    public String findValueByName(List<Property> properties, String name) {
        for (Property property : properties) {
            if (property.getName().equals(name)) {
                return property.getValue();
            }
        }
        return null;
    }
    
    1. 进一步根据具体的需求进行处理。根据实际情况,可以通过类的方法、条件判断、循环等方式来处理匹配的属性和属性值。例如,比较属性值是否相等:
    String value = findValueByName(properties, "color");
    if (value.equals("red")) {
        // 处理匹配的逻辑
    }
    

    请注意,以上提供的代码示例仅供参考,具体的实现方式要根据实际需求来定。此外,还需要考虑异常处理、数据校验等方面的问题,并根据实际情况做适当的调整和处理。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^