代码之家  ›  专栏  ›  技术社区  ›  13ren

逗号分隔列表的最简单方法是什么?

  •  110
  • 13ren  · 技术社区  · 17 年前

    List --> Item ( , Item ) *
    List --> ( Item , ) * Item
    

    样品溶液1:

    boolean isFirst = true;
    for (Item i : list) {
      if (isFirst) {
        System.out.print(i);        // no comma
        isFirst = false;
      } else {
        System.out.print(", "+i);   // comma
      }
    }
    

    if (list.size()>0) {
      System.out.print(list.get(0));   // no comma
      List theRest = list.subList(1, list.size());
      for (Item i : theRest) {
        System.out.print(", "+i);   // comma
      }
    }
    

      Iterator<Item> i = list.iterator();
      if (i.hasNext()) {
        System.out.print(i.next());
        while (i.hasNext())
          System.out.print(", "+i.next());
      }
    

    List toString AbstractCollection

    public String toString() {
        Iterator<E> i = iterator();
        if (! i.hasNext())
            return "[]";
    
        StringBuilder sb = new StringBuilder();
        sb.append('[');
        for (;;) {
            E e = i.next();
            sb.append(e == this ? "(this Collection)" : e);
            if (! i.hasNext())
                return sb.append(']').toString();
            sb.append(", ");
        }
    }
    

    List l = new LinkedList();
    l.add(l);
    System.out.println(l);
    

    点缀 功能-如何

    Last iteration of enhanced for loop in java

    Does the last element in a loop deserve a separate treatment?

    30 回复  |  直到 6 年前