Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #7923
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: StatsTable object |
| Date | 2011-09-12 15:30 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <77042a11-369e-4a18-a290-5c5a6729927f@glegroupsg2000goo.googlegroups.com> (permalink) |
| References | <9ac3f834-0633-434c-86b0-49ed543f3e81@z18g2000yqb.googlegroups.com> <j4lah6$lik$1@dont-email.me> |
markspace wrote:
bob wrote:
>> What do you all think of this representation? I think it would be
>> better if it had a more 2-dimensional feel, but I don't want to
>> complicate things.
>
> I don't like it. I think it would be better to represent the rows as
> classes, and then compose the object as a collection of those objects.
> I know this sounds like a bit of extra work, but in the long run it's
> probably better.
+1
> For example, if you wanted to use a JTable, which is a table for GUI
> display, having the actual types as ints, double, etc. instead of
> strings would be a big advantage because the default display/editing
> will use those types and "do the right thing" in many cases.
>
> Something like:
>
> public class PlayerStats {
> String name;
> int touchdowns;
> double yardsRushing;
> double yardsPassing;
> ... getters/setters...
>
> public int getPropertyCount() { return 4; }
> public int getPropertyNames() {
> return new String[] { "Name","Touchdows","Yards Rushing",
> "Yards Passing", };
> }
>
> public class StatsTable {
> ArrayList<PlayerStats> playerStats;
> ... don't need "rows" use playerStats.getSize()
> ... columns: use getPropertyCount()...
> }
Plus, 'vector' is not a type in the standard API. If it's a custom type, it needs to follow the naming conventions. If you meant 'java.util.Vector', don't use that type.
There is almost no excuse really to use 'java.util.Vector' in new code. It was (largely) supplanted by 'ArrayList' (and the 'Collections.synchronizedList()' or 'synchronizedCollection()' versions thereof) about thirteen YEARS ago.
(The exception is in order to deal with legacy code that contains vestigial 'Vector' references, but that is not the case for the OP.)
Others have mentioned that there might be use cases for using a table-oriented representation, but that seems on the face of it inappropriate for this exercise. I suggest sticking with the object-oriented approach initially unless you can explain why the table oriented approach is better.
Also, I notice the OP's first "row" lacked a label for the player name.
--
Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
StatsTable object bob <bob@coolgroups.com> - 2011-09-12 01:23 -0700
Re: StatsTable object Jeff Higgins <jeff@invalid.invalid> - 2011-09-12 10:00 -0400
Re: StatsTable object Robert Klemme <shortcutter@googlemail.com> - 2011-09-12 18:53 +0200
Re: StatsTable object Jeff Higgins <jeff@invalid.invalid> - 2011-09-12 13:09 -0400
Re: StatsTable object Jeff Higgins <jeff@invalid.invalid> - 2011-09-12 13:23 -0400
Re: StatsTable object markspace <-@.> - 2011-09-12 09:03 -0700
Re: StatsTable object Jeff Higgins <jeff@invalid.invalid> - 2011-09-12 12:59 -0400
Re: StatsTable object markspace <-@.> - 2011-09-12 09:58 -0700
Re: StatsTable object Lew <lewbloch@gmail.com> - 2011-09-12 15:30 -0700
Re: StatsTable object Robert Klemme <shortcutter@googlemail.com> - 2011-09-12 18:52 +0200
Re: StatsTable object Knute Johnson <nospam@knutejohnson.com> - 2011-09-12 10:17 -0700
Re: StatsTable object Robert Klemme <shortcutter@googlemail.com> - 2011-09-12 19:19 +0200
Re: StatsTable object Arne Vajhøj <arne@vajhoej.dk> - 2011-09-12 19:28 -0400
Re: StatsTable object Arne Vajhøj <arne@vajhoej.dk> - 2011-09-12 19:30 -0400
csiph-web